【发布时间】:2018-03-25 04:03:47
【问题描述】:
在运行此代码时,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"
}
}
我尝试搜索,但没有找到正确的解决方案。
【问题讨论】:
-
你使用的是哪个版本的 React?
-
我猜你在 React 16 上,PropTypes 已被移到另一个名为 prop-types 的包中。 - reactjs.org/warnings/dont-call-proptypes.html
-
@BoyWithSilverWings React 版本:16.0.0
-
那么,答案有你的解决方案
标签: javascript reactjs