javascript - ReactJS:对象数组的 propTypes 验证

标签 javascript reactjs react-proptypes

我有一个对象数组

[
    {
      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/

相关文章:

reactjs - 使用 setTimeout 进行 Jest 测试 Hook 状态更新

reactjs - 具有预加载值的 React Material-UI TextField 不会移动标签(标签与 TextField 内容重叠)

javascript - 可以使用 React 中的属性将哪些不同类型的 Prop 从一个组件发送到另一个组件?

javascript - 从字符串中删除标点符号和空格

JavaScript 与 json 数据相关的问题

javascript - 如何将脚本挂接到另一个页面? (javascript)

javascript - 在 dangerouslySetInnerHTML 中从 onclick 调用 React 组件函数

javascript - 在 IE8 中为对象中的每个属性添加附加属性的最佳方法是什么

javascript - 我应该检查哪种 Prop 类型以获取来源?

javascript - 从 TypeScript 生成 PropType