我曾经使用过像类型检查这样的流程,但是现在我必须使用prop-types我遇到了以下问题
道具类型失败:
rowConfig.uniqueKey
类型的道具string
无效 提供给Table
,预期object
。
在流类型中,我做了以下
type Props = {
columns: {
[key: string]: {
key: string,
label?: string,
}
},
rowConfig?: {
uniqueKey?: string,
css?: string,
onClick?: Function
},
}
对于道具类型,我按照以下方式进行,但是我遇到了错误。为什么呢?因为我使用了PropTypes.string,它仍然需要一个对象。
Table.propTypes = {
columns : PropTypes.objectOf(
PropTypes.shape({
key : PropTypes.string.isRequired,
label : PropTypes.string,
})
),
rowConfig : PropTypes.objectOf(
PropTypes.shape({
uniqueKey: PropTypes.string,
css : PropTypes.string,
onClick : PropTypes.function
})
),
};
答案 0 :(得分:0)
尝试一下:
Table.propTypes = {
columns : PropTypes.shape({
key: PropTypes.string.isRequired,
label: PropTypes.string,
}),
rowConfig : PropTypes.shape({
uniqueKey: PropTypes.string,
css : PropTypes.string,
onClick : PropTypes.function
})
};
答案 1 :(得分:0)
对不起。代表不够高,无法发表评论。您的组件名为Table?您能否提供更多信息? (状态等)。您可能需要同时删除两者的Proptype.objectof。