美文网首页我爱编程
react 使用propTypes进行类型检查

react 使用propTypes进行类型检查

作者: 叶绿素yls | 来源:发表于2018-05-26 18:47 被阅读0次

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

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

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

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

    class Hello extends React.Component {
        render() {
            return <h1>Hello {this.props.name}</h1>
        }
    }
    
    Hello.propTypes = {
        name : PropTypes.string
    }
    

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


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

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


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

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

    class Hello extends React.Component {
        render() {
            return <h1>Hello {this.props.name}</h1>
        }
    }
    
    Hello.propTypes = {
        name : PropTypes.string
    }
    
    Hello.defaultProps = {
        name : 'world'
    }
    

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

    class Hello extends React.Component {
        render() {
            return <h1>Hello {this.props.name || 'world'}</h1>
        }
    }
    

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

    相关文章

      网友评论

        本文标题:react 使用propTypes进行类型检查

        本文链接:https://www.haomeiwen.com/subject/gyfmjftx.html