Якшо в юзефекті є
setInterval/setTimeout то треба не забувати завжди(!) в такому ефекті робити return () => {clearInterval()/clearTimeout()}Також не забувайте, що
setTimeout якшо його не очистить виконається навіть після unmount 😉А я ще додам, що відписуватися варто також від мережевих запитів, на щастя AbortController це дозволяє.
Ігоре, я завдання виконав, з тебе кава 😎