Я пишу сайт, используя react
. В одном компоненте у меня есть setInterval()
функция, которая выполняется, она обновляет их DOM
. Теперь, когда я переключаюсь на другой сайт с моим маршрутизатором (react-router-dom
), функция setInterval()
перестала работать, потому что она не может найти элементы DOM
для обновления. Как я могу продолжать об этом? Хотя я использую componentWillUnmount()
, но возникает та же ошибка.
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = {
stop: false,
}
}
componentWillUnmount() {
if(!this.state.stop) {
this.setState({
stop: true,
})
}
}
_stop = (counter) => {
clearInterval(counter);
}
_someFunc = () => {
...
}
render() {
...
const update = setInterval(function () {
document.getElementById('some-id').innerText = this._someFunc();
}, 1000);
if(this.state.stop) {
this._stop(update)
}
return (
<p id='some-id'></p>
)
}
}
export default Counter;
Ошибка типа: document.getElementById (...) имеет значение null.
Как мне остановить интервал?