我有以下PropTypes
SmartTable.propTypes = {
name: React.PropTypes.string.isRequired,
cols: React.PropTypes.array.isRequired,
rows: React.PropTypes.array.isRequired,
};但是林特说我:
Prop type "array" is forbidden,我怎样才能改变它呢?
发布于 2017-01-21 03:49:25
这是一个可能的解决方案(但我认为这不是明智之举):
SmartTable.propTypes = {
name: React.PropTypes.string.isRequired,
cols: React.PropTypes.arrayOf(React.PropTypes.string),
rows: React.PropTypes.arrayOf(React.PropTypes.string),
};发布于 2018-08-08 21:05:24
其中一个对我有效的解决方案是:
如果需要数组:
SmartTable.propTypes = {
name: PropTypes.string.isRequired,
cols: PropTypes.instanceOf(Array),
rows: PropTypes.instanceOf(Array),
};对于对象和数组,它可以是:
SmartTable.propTypes = {
name: PropTypes.string.isRequired,
cols: PropTypes.instanceOf(Object),
rows: PropTypes.instanceOf(Array),
};发布于 2019-01-14 18:30:22
如果cols和rows的数组是对象,我喜欢使用shape,所以它可能是这样的。
SmartTable.propTypes = {
name: PropTypes.string.isRequired,
cols: PropTypes.arrayOf(PropTypes.shape({
id: PropTypes.string.isRequired,
value: PropTypes.string,
})
rows: PropTypes.arrayOf(PropTypes.shape({
id: PropTypes.string.isRequired,
value: PropTypes.string,
})
};https://stackoverflow.com/questions/41771217
复制相似问题