2017-04-22 106 views
0

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> 
     ) 
    } 

}); 

问题:

以下是错误我得到:

Cannot read property 'start' of null

如果我改变this.state.startthis.props.start ,错误消失,但董事会不render

我该如何解决这种情况?

回答

3

的问题是,你有一个拼写错误,而不是getInitalState使用getInitialState,这就是为什么,你得到的错误:

Cannot read property 'start' of null

利用这一点,它的工作:

getInitialState() { 
    return { 
     start: false 
    }      
}, 
0

你状态对象为空。这是因为您的函数名称中存在拼写错误。函数名称应该是getInitialState。那么你的状态将有默认值start:false