我们定义了一个类组件之后,我们会从props中获取传进来的值,但我们正常情况下希望传进来的值的属性是可以被限定的,包括这一项是否是必填项,如果没有传默认值是什么之类的。
我们可以通过 类名.propTypes = {}来设置,比如
Person.propTypes = {
name: PropTypes.string.isRequired
}
这种写法是既控制了类型也控制了是否必填,那么初始值应该怎么设置呢?
Person.defaultProps = {
name: '张三';
}
所以综上来看,对于组件属性的传递,类型和是否必填依赖于propTypes这个包,而初始值则是根据defaultProps进行设置。
注:这种类名.属性的样子是不是有点熟悉呢?记不记得Java中什么时候可以这么写?是不是加了static这个关键词的时候呢?对的,这里我们可以把这两个写到类的里面去,通过static关键字,我们之前说过我们可以直接通过赋值语句在类中给类的实例加上属性值,那么我们也照样可以通过static这个关键给其类加上属性。
class Person extends React.Component {
static propTypes = {
name: PropTypes.string.isRequired
}
static defaultProps = {
name: '张三'
}
}
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!