PropTypes
PropTypes: 实例的校验
class Model {}
function TypeComp(props) {
return <div>{props.modelProp.name}</div>
}
TypeCompo.defaultProps = {
modelProp:new Model()
}
TypeComp.propsType = {
modelProp: PropTypes.instanceOf(Model)
}上面的modelProp必须是Model的实例。
PropTypes: 具体值的校验
function TypeComp(props) {
return <div></div>
}
TypeCompo.defaultProps = {
}
TypeComp.propsType = {
typeProps: PropTypes.oneOf(['News', 'Photos'])
}这里typeProps值必须是News或Photos中的一个。
PropsTypes: 多个类型的校验
optProp的类型可以是string,number或Model实例。
PropTypes: Shape and Types validation
某种类型的数组
arrayOfProp必须是一个数组类型,并且里面的值是数字类型。如果传递下面这样的,会抛出错误:
某种类型的对象
这里的objOfProp必须是一个对象,并且对象的属性值必须是一个数字类型。
呈现特定的塑造
所以我们必须传递这样的东西:
如果像下面这样传递,将抛出错误:
或者:
PropTypes: 传递任何东西
PropTypes: 必须要的验证
PropTypes: 自定义验证
参考: 官方文档
Last updated