失败的道具类型:提供给"Table"的类型为"string"的道具"r



我过去使用类似流的类型检查,但现在我必须使用道具类型,我遇到了以下问题

失败的道具类型:类型为string的道具rowConfig.uniqueKey无效提供给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
})
),
};

试试看:

Table.propTypes = {
columns     : PropTypes.shape({
key: PropTypes.string.isRequired,
label: PropTypes.string,
}),
rowConfig  : PropTypes.shape({
uniqueKey: PropTypes.string,
css      : PropTypes.string,
onClick  : PropTypes.function
})
};

对不起。代表级别不够高,无法留下评论。您的组件名为Table?你能提供更多信息吗?(状态等(您可能需要删除两者上的Proptype.objectof。

相关内容

最新更新