开发手册 欢迎您!
软件开发者资料库

ReactJS - Props验证

ReactJS Props验证 - 从简单和简单的步骤学习ReactJS,从基本到高级概念,包括概述,环境设置,JSX,组件,状态,道具概述,道具验证,组件API,组件生命周期,表格,事件,参考,键,路由器,磁通概念,使用磁通,动画,服务器端渲染,高阶组件,最佳实践。

属性验证是强制正确使用组件的有用方法.这将有助于在开发过程中避免未来的错误和问题,一旦应用程序变大.它还使代码更具可读性,因为我们可以看到每个组件应该如何使用.

验证道具

在这个例子中,我们正在创建 App 组件,包含我们需要的所有道具. App.propTypes 用于道具验证.如果某些道具没有使用我们指定的正确类型,我们将收到控制台警告.在我们指定验证模式后,我们将设置 App.defaultProps .

App.jsx

import React from 'react';class App extends React.Component {   render() {      return (         
            

Array: {this.props.propArray}

            

Bool: {this.props.propBool ? "True..." : "False..."}

            

Func: {this.props.propFunc(3)}

            

Number: {this.props.propNumber}

            

String: {this.props.propString}

            

Object: {this.props.propObject.objectName1}

            

Object: {this.props.propObject.objectName2}

            

Object: {this.props.propObject.objectName3}

         
      );   }}App.propTypes = {   propArray: React.PropTypes.array.isRequired,   propBool: React.PropTypes.bool.isRequired,   propFunc: React.PropTypes.func,   propNumber: React.PropTypes.number,   propString: React.PropTypes.string,   propObject: React.PropTypes.object}App.defaultProps = {   propArray: [1,2,3,4,5],   propBool: true,   propFunc: function(e){return e},   propNumber: 1,   propString: "String value...",      propObject: {      objectName1:"objectValue1",      objectName2: "objectValue2",      objectName3: "objectValue3"   }}export default App;

main.js

import React from 'react';import ReactDOM from 'react-dom';import App from './App.jsx';ReactDOM.render(, document.getElementById('app'));

道具有效