我正在使用数据对象作为ReactJS中组件的道具。
<Field data={data} />
我知道容易验证PropTypes对象本身:
propTypes: { data: React.PropTypes.object }
但是,如果我想验证其中的值怎么办?即。data.id,data.title?
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.0版本开始React.PropTypes已移至package prop-types。
React.PropTypes
prop-types
import PropTypes from 'prop-types'; propTypes: { data: PropTypes.shape({ id: PropTypes.number.isRequired, title: PropTypes.string }) }
更多信息