react的类型检查(PropTypes)
2018-03-21 13:37
591 查看
类型检查时为了避免像组件中传入不必要的数据类型,从而导致一些不必要的bug。下面是学习PropTypes的时候的一些笔记
声明为js类型
optionalArray: PropTypes.array,//数组 optionalBool: PropTypes.bool,//布尔 optionalFunc: PropTypes.func,//function optionalNumber: PropTypes.number,//数字 optionalObject: PropTypes.object, optionalString: PropTypes.string, optionalSymbol: PropTypes.symbol,可以声明为任何可以被render的类型
optionalElement: PropTypes.element,声明为某个类的实例
optionalMessage: PropTypes.instanceOf(Message),使用枚举限定
optionalEnum: PropTypes.oneOf(['News', 'Photos'])使用object限定为多种类型
optionalUnion: PropTypes.oneOfType([ PropTypes.string, PropTypes.number, PropTypes.instanceOf(Message) ]),某个特定的数组类型
optionalArrayOf: PropTypes.arrayOf(PropTypes.number),某个特定的Object类型
optionalObjectOf: PropTypes.objectOf(PropTypes.number)可以使用isRequired来实现上面的所有校验
requiredFunc: PropTypes.func.isRequired,使用function可以使用一个function来自定义一个校验器 它应该返回一个Error的object类型的错误当校验失败的时候 如下:
customProp: function(props, propName, componentName) { if (!/matchme/.test(props[propName])) { return new Error( 'Invalid prop `' + propName + '` supplied to' + ' `' + componentName + '`. Validation failed.' ); } },
设置默认的props值
使用 组件.defaultProps = {} 的语法来 例如下面:class Greeting extends React.Component { render() { return ( <h1>Hello, {this.props.name}</h1> ); } } Greeting.defaultProps = { name: 'Stranger' };
相关文章推荐
- React.js 官网资料摘记:使用Prop-Types检查类型
- React文档(十五)使用propTypes进行类型检查
- React学习(5)—— 高阶应用:prop类型检查与真实Dom操作
- React PropTypes 定义组件的属性类型和默认属性
- React组件属性类型(propTypes)
- react.js-06-propTypes类型校验
- React组件属性类型(propTypes)
- 【react】利用prop-types第三方库对组件的props中的变量进行类型检测
- 【react】利用prop-types第三方库对组件的props中的变量进行类型检测
- React中静态类型校验-PropTypes学习
- React组件属性类型(propTypes)
- react-native 组件默认属性(defaultProps) 及 属性类型验证(PropTypes)
- react中ES6语法报错:static propTypes,static defaultProps :modulbuild failed:SyntaxError
- React Native报错unddefined is not an object(evaluating ‘_reactnative.propTypes’)解决办法
- React学习之进阶类型检查(十二)
- React——props的使用以及propTypes
- eslint: prop type 'object' is forbidden(react/forbid-prop-types)
- React Native之prop-types进行属性确认
- Javascript.Reactjs-5-prop-validation-and-proptypes
- React.PropTypes