React框架(六)PropTypes与DefaultProps

落爺英雄遲暮 提交于 2020-02-25 12:14:02

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'
};
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!