我是新人的反应。我正在尝试验证道具。根据文档,如果删除isRequired值,它将在开发模式下显示警告。
import React from 'react';
export default class PropsValidation extends React.Component{
render(){
return(
<div>
<h1>Props Validation</h1>
<p>{this.props.propArray}</p>
<p>{this.props.propBoolean}</p>
<p>{this.props.propFunction}</p>
</div>
)
}
}
PropsValidation.defaultProps = {
propArray:[1,2,3],
propBoolean:false,
propFunction:function(e){return e}
}
PropsValidation.propsTypes = {
propArray: React.PropTypes.array.isRequired,
propBool: React.PropTypes.bool.isRequired,
propFunction: React.PropTypes.function
}
答案 0 :(得分:0)
我还没有完全理解你的问题,但是你会得到一个警告,因为propFunction: React.PropTypes.function
它应该是propFunction: React.PropTypes.func
对func
而不是function
做出反应
https://facebook.github.io/react/docs/typechecking-with-proptypes.html
该文章列出了所有可用的proptype
答案 1 :(得分:0)
如果您的道具已定义为必需,未设置并且没有默认值,您将收到警告。如果存在默认值,则prop不为空,因此isRequired的验证通过。