错误:无法读取null属性

时间:2017-04-22 15:23:44

标签: javascript reactjs

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

我该如何解决这种情况?

2 个答案:

答案 0 :(得分:3)

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

  

无法读取属性&#39;开始&#39;为null

使用它,它将起作用:

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

答案 1 :(得分:0)

您的州对象为空。这是因为你的函数名中有拼写错误。函数名称应为getInitialState。然后您的州的默认值为start:false