我有一个组件,可让您默认使用图标作为道具
import DefaultIcon from '@material-ui/icons/FeedbackOutlined';
const MyIconWrapper = ({Icon}) = (<Icon/>)
道具的类型:
MyIconWrapper.propTypes = { Icon: PropTypes.element }
MyIconWrapper.defaultProps = { Icon: DefaultIcon }
因为图标是一个组件(看似源代码)?
但是我收到关于不是元素的prop-type警告。它实际上是一个对象。
我目前已经将此作为我的道具类型
MyIconWrapper.propTypes = {
Icon: PropTypes.shape({
displayName: PropTypes.string.isRequired,
type: PropTypes.shape({ render: PropTypes.func.isRequired })
})
};
但是这似乎是我在重新定义一个react元素?
这是图标的正确道具类型,还是有更好的道具使用?