使用PropTypes进行类型检查

  • 使用类型检查来限制组件正确的使用,是大部分框架有提供的功能,React 使用 PropTypes 来检查输入类型
  • 你也可以使用FlowTypeScript来进行类型限制
  • 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 来定义propTypesdefaultProps

class Comp2 extends React.Component {
  static propTypes = {}
  static defaultProps = {}
}

results matching ""

    No results matching ""