我有一个对象数组
[
{
id: 1,
customtitle: '',
IconSRC: '',
btnColor: '',
inlineSyle: '',
btnStyle: {
width: '100px',
height: '100px',
flexDirection: 'column',
},
num: 1,
},
{
id: 2,
customtitle: '',
IconSRC: '',
btnColor: '',
inlineSyle: '',
btnStyle: {
width: '100px',
height: '100px',
flexDirection: 'column',
},
num: 2,
},]
我很困惑如何让它作为 Prop 验证工作。我需要帮助来修复它,我尝试这种方式
Function.propTypes = {
list: PropTypes.objectOf(PropTypes.shape({
id: PropTypes.number,
btnColor: PropTypes.string,
customTitle: PropTypes.string,
btnStyle:PropTypes.object
IconSRC: PropTypes.string,
inlineSyle: PropTypes.string,
})),
};
Function.defaultProps = {
List: [],
};
但这没有用。 没有这个 proptypes 我的组件可以正常工作。但 eslint 显示此文本错误
.map' is missing in props validation eslint(react/prop-types)
最佳答案
你想要的实际上是PropTypes.arrayOf()
。例如:
list: PropTypes.arrayOf(PropTypes.shape({
id: PropTypes.number,
btnColor: PropTypes.string,
customTitle: PropTypes.string,
btnStyle:PropTypes.object
IconSRC: PropTypes.string,
inlineSyle: PropTypes.string,
})),
您可以查看 PropType 的完整列表 here .
关于javascript - ReactJS:对象数组的 propTypes 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59038307/