Hi, I'm JC π. I write tutorials from time to time.
awkward talks.
Stealing the spotlight π. Basically if u set something with useEffect u need to remove it when u don't need it. I had this problem on my 2048 game where I added an event listener inside of a useEffect and didn't clean up. useEffect(()=> { document.addEventListener("click", handleClick) }, []) On re-render by a useState change for example, useEffect runs again so the same event listener gets added again and again. So my function got called too many times. To prevent this I added removeEventListener like this: useEffect(()=> { document.addEventListener("click", handleClick) return ()=> document.removeEventListener("click", handleClick) }, []) Return gets called every time before the component re-renders and runs removeEventListener π