react 使用propTypes进行类型检查

在React 15.5开始,已经弃用React.PropTypes,现在用prop-types库替代

prop-types支持nodejs以及浏览器端,使用起来还是很方便的,也可以自定义类型检查,功能强大,但是我们应该注意,由于性能上的原因,我们应该只在开发阶段使用。

当然,有些javascript的拓展版本本来就有类型检查的功能,比如TypeScriptFlow。这两个我现在还没有接触过:)

来看个使用prop-types的例子吧:

class Hello extends React.Component {
    render() {
        return 

Hello {this.props.name}

} } Hello.propTypes = { name : PropTypes.string }

这就要求Hello组件的name属性必须是字符串类型的,如果我们传入别的参数,比如数字,我们看看会怎么样:


控制台里面报了一个错,恩,这就是一个简单的例子,不过prop-types的用法还有很多,具体可以查看官网。

由于我比较喜欢动态类型,所以我应该不会怎么使用这个库


这个小节还有一个内容就是设置属性的默认值

具体的用法类似于propTypes,也是给组件添加一个属性defaultProps

class Hello extends React.Component {
    render() {
        return 

Hello {this.props.name}

} } Hello.propTypes = { name : PropTypes.string } Hello.defaultProps = { name : 'world' }

虽然我觉得这个功能自己实现起来也很简单方便,比如:

class Hello extends React.Component {
    render() {
        return 

Hello {this.props.name || 'world'}

} }

但是官方提供了这个一个东西,当然用还是比较好,主要是阅读起来比较明显,比较容易懂。

你可能感兴趣的:(react 使用propTypes进行类型检查)