我使用数据对象作为 ReactJS 中组件的道具。
<Field data={data} />
我知道验证 PropTypes 对象本身很容易:
propTypes: { data: React.PropTypes.object }
但是如果我想验证里面的值呢?IE。数据ID,数据标题?
props[propName]: React.PropTypes.number.required // etc...
您可以React.PropTypes.shape用来验证属性:
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。
React.PropTypes
prop- types
import PropTypes from 'prop-types'; propTypes: { data: PropTypes.shape({ id: PropTypes.number.isRequired, title: PropTypes.string }) }
更多信息