我有一个对象数组
[
{
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,
},]
而且我很困惑,无法使其作为道具验证工作。我需要帮助修复它,我可以尝试这种方式
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: [],
};
但是那没有用。没有此原型,我的组件将正常工作。但此文本显示错误
。map'在道具验证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,
})),
您可以看到PropTypes here的完整列表。
您可以像这样使用它:
Function.propTypes = {
list: PropTypes.arrayOf(PropTypes.shape({
id: PropTypes.number,
btnColor: PropTypes.string,
customTitle: PropTypes.string,
btnStyle:PropTypes.object
IconSRC: PropTypes.string,
inlineSyle: PropTypes.string,
})),
};
Function.defaultProps = {
List: [],
};
也可获取有关原型的更多详细信息,请访问使用PropTypes here进行类型检查>