跳到主要内容

属性默认值 和 类型检查

属性默认值

通过一个静态属性defaultProps告知react属性默认值

属性类型检查

使用库:prop-types

对组件使用静态属性propTypes告知react如何检查属性


PropTypes.any://任意类型
PropTypes.array://数组类型
PropTypes.bool://布尔类型
PropTypes.func://函数类型
PropTypes.number://数字类型
PropTypes.object://对象类型
PropTypes.string://字符串类型
PropTypes.symbol://符号类型

PropTypes.node://任何可以被渲染的内容,字符串、数字、React元素
PropTypes.element://react元素
PropTypes.elementType://react元素类型
PropTypes.instanceOf(构造函数)//必须是指定构造函数的实例
PropTypes.oneOf([xxx, xxx])//枚举
PropTypes.oneOfType([xxx, xxx]); //属性类型必须是数组中的其中一个
PropTypes.arrayOf(PropTypes.XXX)//必须是某一类型组成的数组
PropTypes.objectOf(PropTypes.XXX)//对象由某一类型的值组成
PropTypes.shape(对象): //属性必须是对象,并且满足指定的对象要求
PropTypes.exact({...})//对象必须精确匹配传递的数据

//自定义属性检查,如果有错误,返回错误对象即可
属性: function(props, propName, componentName) {
//...
}