В настоящее время я использую побочный эффект для таймера, который отправляет действие обновления в хранилище каждые 0,1 с:
const Timer = ({ update, score }) => {
useEffect(() => {
const interval = setInterval(() => {
update()
}, 100);
return () => clearInterval(interval);
})
return (<p>{score}</p>);
}
Где лучше всего инициализировать таймер в incrementAsynch ()?
function incrementAsync() {
return (dispatch) => {
setTimeout(() => {
dispatch(update());
}, 100);
};
}
Следует ли мне оставить его в использовании Эффект?
const Timer = ({ update, score }) => {
useEffect(() => {
incrementAsync()
return () => clearInterval(interval);
})
return (<p>{score}</p>);
}
Если да, то как мне его остановить? И создает ли это несколько счетчиков?