小编典典

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

reactjs

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

<Field data={data} />

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

propTypes: {
  data: React.PropTypes.object
}

但是,如果我想验证其中的值怎么办?即。data.id,data.title?

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

阅读 354

收藏
2020-07-22

共1个答案

小编典典

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

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

更新资料

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

import PropTypes from 'prop-types';

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

更多信息

2020-07-22