参考来自hangge :链接
prop-types简介
之前可以直接使用 React.PropTypes 进行属性类型检查,不过自 React v15.5 后就被移除了,所以现在使用prop-types库代替。使用属性类型检查后,类型错误时,发手机会弹出相关的警告信息
RN为了代码的高效运行,属性确认仅在开发环境中有效,正式发布的 App 运行时不会进行检查
prop-types安装与使用
yarn add prop-types
import PropTypes from 'prop-types';
prop-types语法
属性是指定js类型
- PropTypes.array
- PropTypes.bool
- PropTypes.func
- PropTypes.number
- PropTypes.object
- PropTypes.string
属性是可渲染节点
- PropTypes.node
属性是某个React元素
- PropTypes.element
属性是某个指定类的实例
- PropTypes.instanceOf(NameOfAClass)
属性取值为特定的几个值
- PropTypes.oneOf(['value1', 'value2'])
属性为指定类型中的任意一个
- PropTypes.oneOfType([PropTypes.bool,PropTypes.number,])
属性为指定类型的数组
- PropTypes.arrayOf(PropTypes.number)
属性是一个有特定成员变量的对象
- PropTypes.objectOf(PropTypes.number)
属性是一个指定构成方式的对象
- PropTypes.shape({color: PropTypes.string,fontSize: PropTypes.number,})
属性可以是任意类型
- PropTypes.any
将属性声明为必需的
上述语法,都可以通过在后面加上 isRequired 声明它是必需的。
PropTypes.array.isRequired