Попытки использовать setTimeout
в обратном вызове, чтобы сбросить состояние через несколько секунд, но получить ошибку неперехваченного TypeError: this.setState не является функцияSetTimeout в обратном вызове, чтобы сбросить состояние
Может кто-нибудь, пожалуйста, помогите?
setMainState: function() {
this.setState({
clicked: !this.state.clicked
}, this.delayState());
},
delayState: function() {
setTimeout((function() {
this.setState({
clicked: false
}), 2000}));
},
handleClick: function(event) {
this.setMainState();
},
Важная деталь здесь является то, что «старой школы» объявления функций имеют разные правила о 'this', чем функции стрелки (как это ответ неявно показывает - я просто думаю, что стоит отметить). – johndodo