如何验证ReactJS中嵌套对象的属性类型?

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

<字段数据={data}/>

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

属性类型:{
数据:React.PropTypes.object
}

但是如果我想验证里面的值呢?比如data.id,data.title

props[propName]:React.PropTypes.number.required//等。。。

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

属性类型:{
数据:React.PropTypes.shape({
id:React.PropTypes.number.isRequired,
标题:React.PropTypes.string
})
}

更新

正如@Chris在评论中指出的,从React版本15.5.0开始,React.PropTypes已经移动到packagePropTypes

从“道具类型”导入道具类型;
道具类型:{
数据:PropTypes.shape({
id:PropTypes.number.isRequired,
标题:PropTypes.string
})
}

更多信息

发表评论