React has changed, your Hooks should too - Matt Smith
Use Hooks as a modular design system: reserve effects for external side effects and derive all other state during render, leveraging new Concurrent React features.
15 common useEffect mistakes to avoid in your React apps - LogRocket Blog
useEffect should be used sparingly because it runs after paint and, when misused, causes late effects, extra re-renders, wasted work, and performance problems.