如何解决无法将变形的道具分配给react-bootstrap组件
我已经安装了react-bootstrap,并且想为我的项目自定义默认按钮,以便我可以简单地编写<Button>
,而大多数按钮没有任何variant
选项。
import * as bs from "react-bootstrap";
export const Button: bs.Button = ({
variant = "outline-secondary",...props
}) => {
return <bs.Button variant={variant} {...props} />;
};
这将导致以下错误。
/path/to/MyComponent.tsx(11,11)中的TypeScript错误:
类型'{变体:字符串; }&Pick>,“广告位” | ... 262更多... |排除<...>>'不能分配给'IntrinsicAttributes&Pick >&BsPrefixProps <...>&ButtonProps&{...; }'。
类型'{变体:字符串; }&Pick>,“广告位” | ... 262更多... |排除<...>>'不能分配给类型'Pick >'。 TS2322
如果我写的时候没有破坏结构,它会如何工作。
export const Button: bs.Button = (props) => {
return (
<bs.Button {...props} variant={props.variant || "outline-secondary"} />
);
};
为什么第一个不起作用? props
掉了什么?
更新
版本:TypeScript 4.0.2,React 16.13.1,React Bootstrap 1.3.0
解决方法
你快到了。
您的代码无效,因为您没有声明道具的类型,所以您只需要这样做:
ma-2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。