开发者问题收集

错误:无法读取 null 的属性

2017-04-22
1727

代码:

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.start 更改为 this.props.start ,错误会消失,但板不会 呈现

我该如何解决这种情况?

2个回答

问题是,你有一个拼写错误,应该使用 getInitalState 而不是 getInitalState ,这就是为什么你会收到那个错误:

Cannot read property 'start' of null

使用这个,它会起作用:

getInitialState() {
    return {
        start: false
    }                    
},
Mayank Shukla
2017-04-22

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

Panther
2017-04-22