为什么说未捕获引用错误:计数器未定义?

时间:2017-09-26 00:03:40

标签: javascript html css reactjs

我正在练习如何创建具有reactJS状态的组件,遗憾的是我无法弄清楚出了什么问题。我从之前的例子中反映了这一点,除了reandomNumber函数之外没有区别,每次单击按钮时我都会生成一个新的数字。如果有人能给我反馈我做错了什么我会很感激。此外,我的UI窗口中没有显示任何内容。

var Count = React.createClass({
    render: function() {
        var counterStyle = {
            fontSize: 20,
            fontFamily: "times",
            padding: 50,
            color: "blue"
        };

        return(
            <p style="counterStyle">{this.props.display}</p>
        );
    }
});


var ButtonButton = React.createClass({
    render: function() {
        var buttonStyle = {
            fontSize: "1em",
            width: 60,
            height: 40,
            fontFamily: "times",
            color: "teal",
            fontWeight: "bold",
            lineHeight: "3px"
        };

        return(
            <button style={buttonStyle} onClick={this.props.eventHandle}>Random No.</button>
       );
    }
});

var ButtonSquare = React.createClass({
    getInitialState: function() {
        return(
            counter: 0
        );
    },

    randomNumber: function() {
        this.setState({
            counter: Math.floor(Math.random())
        });
    },


    render: function() {
        var linkStyle = {
            width: 900,
            height: 900,
            backgroundColor: "blue",
            textAlign: "center"
        };


        return (
            <div style={linkStyle}>
                <Count display={this.state.counter}/>
                <ButtonButton eventHandle={this.randomNumber}/>
            </div>
        );
    }
});

1 个答案:

答案 0 :(得分:0)

你在这里使用了错误的标点符号,并且意外地为0而不是具有属性的对象制作了带标签的语句:

getInitialState: function() {
    return(
        counter: 0
    );
},

这应该是

getInitialState: function() {
    return {
        counter: 0
    };
},