PropTypes和defaultPropTypes

2018-09-22  本文已影响0人  灯光树影

一、用途

用于子组件检测props的数据类型是否正确,给props中的属性添加类型约束,如果不对,会抛出警告

二、使用步骤

import PropTypes from 'prop-types'
TodoItem.propTypes = {

}
// 默认类型
TodoItem.defaultProps = {
    
}

其中TodoItem是一个组件名(可以换成其他需要检测的组件),然后在propTypes、defaultProps对象中添加属性和数据类型进行约束

三、使用案例

TodoItem.propTypes = {
    content: PropTypes.string, // content要是string类型
    deleteList: PropTypes.func // deleteList要是函数
}

类型列表:
func、any(任何类型)、bool、array、number、object、string、symbol node、element(React element)

TodoItem.propTypes = {
    content: PropTypes.string.isRequested, // content要是string类型,且必须传递
    deleteList: PropTypes.func // deleteList要是函数
}

也可以使用一些方法完成一些逻辑选择

instanceOf(oneClass) : oneClass的实例
oneOf(['News', 'Photos']) : 值是[]中列举的其中之一
oneOfType([
    PropTypes.string,
    PropTypes.number
]) []中的任一种类型
arrayOf(PropTypes.number, ProTypes.func) : 类型是实参中任一种的数组
objectOf() : 类型是实参中任一种的对象
shape({
    color: PropType.string,
    fontSize: PropTypes.number
}) : 对对象的属性整体进行类型的检测
上一篇下一篇

猜你喜欢

热点阅读