📜  ReactJS-道具验证

📅  最后修改于: 2020-10-20 04:48:50             🧑  作者: Mango


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

验证道具

在此示例中,我们将使用所需的所有道具来创建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'));

反应道具验证示例

道具有效