运行此代码时,我在第一行出现错误 App.propTypes
App.propTypes
TypeError:无法读取未定义的属性“数组”
码:
class App extends React.Component { render() { return ( <div> <h3>Array: {this.props.propArray}</h3> <h3>Array: {this.props.propBool ? "true" : "false"}</h3> <h3>Func: {this.props.propFunc(3)}</h3> <h3>Number: {this.props.propNumber}</h3> <h3>String: {this.props.propString}</h3> <h3>Object: {this.props.propObject.objectName1}</h3> <h3>Object: {this.props.propObject.objectName2}</h3> <h3>Object: {this.props.propObject.objectName3}</h3> </div> ); } } App.propTypes = { propArray: React.PropTypes.array.isRequired, //I got error over here 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" } }
我尝试搜索,但没有得到正确的解决方案。
道具类型现在是一个单独维护的库,名称为prop-types 这里是react- docs的解释:https : //reactjs.org/docs/typechecking-with- proptypes.html
prop-types
您必须将它们导入为
import React from 'react'; import PropTypes from 'prop-types' class App extends React.Component { //App here } App.propTypes = { propArray: PropTypes.array.isRequired, propBool: PropTypes.bool.isRequired, propFunc: PropTypes.func, propNumber: PropTypes.number, propString: PropTypes.string, propObject: PropTypes.object }
NPM套餐