React Hooks have been around for years, but most codebases still use them the same way: a bit of
useState, an overworkeduseEffect, and a lot of patterns that get copy-pasted without much thought. […]
Before reaching for
useEffect, ask yourself:
- Is this driven by something external (network, DOM, subscriptions)?
- Or can I compute this during render?
If it’s the latter, tools like
useMemo,useCallback, or framework-provided primitives will make your component a lot less fragile.

I changed to Svelte and I’m not coming back!