使用PropTypes进行类型检查
- 使用类型检查来限制组件正确的使用,是大部分框架有提供的功能,
React
使用PropTypes
来检查输入类型 - 你也可以使用
Flow
跟TypeScript
来进行类型限制 - 与
Vue
一致的是,类型检查只在开发时工作 - Flow介绍
- TypeScript介绍
- ===
- 更多检验规则请看 typechecking-with-proptypes
import React, {Component} from 'react';
import PropTypes from 'prop-types' // 注意需要引入 propTypes
class Comp extends React.Component {
render () {return (<h1>Comp, {this.props.name}</h1>)}
}
Comp.propTypes = { // 定义检查类型
name: PropTypes.string, // array/bool/func/number/object/symbol
node: PropTypes.node // 此外还支持 node(可被渲染元素)/ element(React元素)/oneOf 等等
}
Comp.defaultProps = { // defaultProps 是用来设置默认值的
name: 'Friend',
}
Es6 Static 属性
可以使用
static
来定义propTypes
跟defaultProps
class Comp2 extends React.Component {
static propTypes = {}
static defaultProps = {}
}