CODE:
var Game = createReactClass({
getInitalState() {
return {
start: false
}
},
handleStartClick() {
this.setState({
start: true
})
},
handleStopClick() {
this.setState({
start: false
})
},
render() {
return (
<div>
<h1>React.js Game of Life</h1>
<div className="buttons">
<button className="btn btn-danger" onClick={this.handelStopClick}>Stop</button>
<button className="btn btn-success" onClick={this.handelStartClick}>Start</button>
</div>
<Board start={this.state.start}/>
</div>
)
}
});
问题:
这是我得到的错误:
无法读取属性&#39;开始&#39;为null
如果我将this.state.start
更改为this.props.start
,则错误会消失,但主板不会render
。
我该如何解决这种情况?
答案 0 :(得分:3)
问题是,你有拼写错误,而不是getInitalState
使用getInitialState
,这就是为什么,你得到的错误:
无法读取属性&#39;开始&#39;为null
使用它,它将起作用:
getInitialState() {
return {
start: false
}
},
答案 1 :(得分:0)
您的州对象为空。这是因为你的函数名中有拼写错误。函数名称应为getInitialState
。然后您的州的默认值为start:false