PropTypes
用于对父组件传递给子组件值类型的强校验
引入:import PropTypes from 'prop-types'
使用:
TodoItem.propTypes={
// isRequired表示父组件必须要传递给子组件这个属性,否则报错:The prop `test` is marked as required in `TodoItem`, but its value is `undefined`.
test:PropTypes.string.isRequired,
con: PropTypes.oneOfType([PropTypes.string,PropTypes.number]),// con属性必须是PropTypes包(与上方引入的大小写对应)里面的number或者string类型
delItem:PropTypes.func,
//若index强制为string类型,就会报错:Failed prop type: Invalid prop `index` of type `number` supplied to `TodoItem`, expected `string`.
index:PropTypes.number
};
更多校验参考官网:Typechecking With PropTypes
DefaultProps
当父组件无法传递给子组件某一个属性时,用于定义默认值
使用:
// 父组件未传递给子组件时,子组件使用默认值
TodoItem.defaultProps={
test:'hi'
};