Вы не должны изменять состояние, вместо этого используйте setState
для обновления состояния. Также нельзя напрямую использовать интервал в componentDidUpdate
. Лучшее место для интервала - componentDidMount
, и функция обратного вызова для setInterval не должна запускаться, а должна передаваться как ссылка.
componentDidMount(){
console.log("update")
this.timerId = setInterval(this.tickingTimer, 2000)
}
tickingTimer(){
this.setState(prev => ({counter: prevState.counter+1}));
console.log("timer");
}
componentWillUnmount() {
clearInterval(this.timerId)
}
ПРИМЕЧАНИЕ: очистите setInterval в componentWillUnmount