gpt4 book ai didi

javascript - 为什么我的状态未定义?

转载 作者:行者123 更新时间:2023-12-03 05:35:08 24 4
gpt4 key购买 nike

尝试遵循 React 中的简单时钟/倒计时教程:

constructor(props) {
super(props);
this.state = {
secondsRemaining: 10
};
}

componentDidMount(){
let interval = setInterval(this.timer, 1000);
this.setState({ secondsRemaining: this.state.secondsRemaining })
this.setState({ interval: interval });
};

componentWillUnmount() {
clearInterval(this.state.interval);
};

timer(){
this.setState({ secondsRemaining: this.state.secondsRemaining -1 });
};

一切的作用非常明显,但是当我运行它时,我收到一条错误消息,指出计时器函数中的无法读取未定义的属性秒数

这可能是我错过的一些愚蠢的事情,但我只是看不到它

遵循此问题的答案:setInterval in a React app

最佳答案

myfunction.bind()方法指定什么this将在调用方法时引用该方法内部。为了确保当您调用 this.timer() 时,您实际上引用的是组件状态,而不是调用它的对象,您必须传递 this.timer.bind(this) .

关于javascript - 为什么我的状态未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40762044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com