React 道具值日志 "undefined"
React prop value logs "undefined"
我用一小段代码重现了一个问题。基本上我想控制台记录 components prop 的值。但它一直在记录 "undefined"
var Something = React.createClass({
propTypes:{
vouch: React.PropTypes.string
},
render: function() {
return (
<div>
<h1 onClick={this.props.onClick} vouch={this.props.vouch}>Click!</h1>
</div>
);
}
});
var List = React.createClass({
log: function() {
console.log(this.props.vouch);
},
render: function () {
return (
<Something onClick={this.log} vouch="test" />
);
}
});
ReactDOM.render(<List />, document.getElementById('react-app'));
你是不是忘了用 props:vouch 来传递了?
<PeopleList vouch="test">
您似乎误解了代码中的内容:
<h1 text="Increment!" onClick={this.log} vouch="Test">Click!</h1>
您实际上是将 "test" 传递给 h1 元素,这没有意义。
您还可以将 props 作为一项要求,这样如果您没有正确传递 props,您就可以在控制台中看到错误消息:
propTypes:{
vouch: React.PropTypes.string.isRequired
},
我用一小段代码重现了一个问题。基本上我想控制台记录 components prop 的值。但它一直在记录 "undefined"
var Something = React.createClass({
propTypes:{
vouch: React.PropTypes.string
},
render: function() {
return (
<div>
<h1 onClick={this.props.onClick} vouch={this.props.vouch}>Click!</h1>
</div>
);
}
});
var List = React.createClass({
log: function() {
console.log(this.props.vouch);
},
render: function () {
return (
<Something onClick={this.log} vouch="test" />
);
}
});
ReactDOM.render(<List />, document.getElementById('react-app'));
你是不是忘了用 props:vouch 来传递了?
<PeopleList vouch="test">
您似乎误解了代码中的内容:
<h1 text="Increment!" onClick={this.log} vouch="Test">Click!</h1>
您实际上是将 "test" 传递给 h1 元素,这没有意义。
您还可以将 props 作为一项要求,这样如果您没有正确传递 props,您就可以在控制台中看到错误消息:
propTypes:{
vouch: React.PropTypes.string.isRequired
},