小编典典

如何在 ReactJS 中验证嵌套对象的 PropTypes?

all

我使用数据对象作为 ReactJS 中组件的道具。

<Field data={data} />

我知道验证 PropTypes 对象本身很容易:

propTypes: {
  data: React.PropTypes.object
}

但是如果我想验证里面的值呢?IE。数据ID,数据标题?

props[propName]: React.PropTypes.number.required // etc...

阅读 91

收藏
2022-06-27

共1个答案

小编典典

您可以React.PropTypes.shape用来验证属性:

propTypes: {
    data: React.PropTypes.shape({
      id: React.PropTypes.number.isRequired,
      title: React.PropTypes.string
    })
}

更新

正如@Chris 在评论中指出的那样,从 React 版本 15.5.0React.PropTypes开始,已移至 package prop- types

import PropTypes from 'prop-types';

propTypes: {
    data: PropTypes.shape({
      id: PropTypes.number.isRequired,
      title: PropTypes.string
    })
}

更多信息

2022-06-27