Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何将此.state数据存储在变量中?_Reactjs - Fatal编程技术网

Reactjs 如何将此.state数据存储在变量中?

Reactjs 如何将此.state数据存储在变量中?,reactjs,Reactjs,我正在尝试做某种类型的typeRacer游戏,在尝试将this.state放入变量时遇到了一个问题。这是密码 class TextViewer extends Component { state = { loading: true, quote: null, }; async componentDidMount() { const url = "https://api.quotable.io/random?min

我正在尝试做某种类型的typeRacer游戏,在尝试将this.state放入变量时遇到了一个问题。这是密码

class TextViewer extends Component {
    state = {
        loading: true,
        quote: null,
    };

    async componentDidMount() {
        const url = "https://api.quotable.io/random?minLength=200";
        const response = await fetch(url);
        const data = await response.json();
        this.setState({quote: data, loading: false});
                console.log(data);
    }
这只是数据获取,但我想显示状态声明

    timeCalculatorStart() {
        var today = new Date(),
            hour = today.getHours,
            minute = today.getMinutes + 60 * hour,
            seconds = today.getSeconds + 60 * minute;

        this.state = {
            StartTime: seconds,
        };
    }

    timeCalculatorEnd() {
        var today = new Date(),
            hour = today.getHours,
            minute = today.getMinutes + 60 * hour,
            seconds = today.getSeconds + 60 * minute;

        this.state = {
            EndTime: seconds,
        };

        this.timeCalculator();
    }
这些是我用来声明this.state.EndTime和this.state.StartTime的函数

    timeCalculator() {
        var score = this.state.quote.length / (this.state.EndTime - this.state.StartTime)  
        // here is where I get the error " 'score' is declared but its value is never read. "
    }
 
    render() {
        return (
            /*
            there is code that works here, without using the TimeCalculator()
            */
                <div>
                    <form>
                        <input
                            className="input-text"
                            onInput={this.timeCalculatorStart()}
                        />
                    </form>
                    <button
                        type="submit"
                        className="btn btn-submit"
                        onInput={this.timeCalculatorEnd()}
                    >
                        Submit
                    </button>
                </div>
            </div>
        );
    }
}
timeCalculator(){
var score=this.state.quote.length/(this.state.EndTime-this.state.StartTime)
//这里是我得到错误的地方“'score'已声明,但其值从未读取。”
}
render(){
返回(
/*
这里有一些代码可以工作,而不使用TimeCalculator()
*/
提交
);
}
}

声明了“score”,但从未读取其值。
不是编译或运行时错误,只是没有使用变量。在您的情况下,您没有返回它,因此从该函数中,您什么也得不到

这就是您可能想要做的:


时间计算器(){
返回分数=this.state.quote.length/(this.state.EndTime-this.state.StartTime);
}
我从您的代码中提取的另一个错误是,您直接改变了
状态
,这正是您不应该做的。例如:

//你是魔鬼
此.state={
开始时间:秒,
};
//这是你应该做的
这是我的国家({
开始时间:秒
})