๐ฅ๐ฒ๐ฎ๐ฐ๐ ๐ญ๐ต: ๐ช๐ต๐ฒ๐ป ๐๐ผ ๐๐๐ฒ ๐๐๐ฒ() ๐๐ ๐๐๐ฒ๐๐ณ๐ณ๐ฒ๐ฐ๐
I replaced 3 useEffects with use() in React 19. I had to undo one. Here is what I learned.
use() reads a promise in a component. The component waits for the value. React handles the rest.
It works for these cases:
- Server components passing promises.
- Promises in context.
It removes useState and useEffect. It removes loading checks.
It fails for these cases:
- Polling.
- Web sockets.
- Subscriptions.
The rule is simple. use() is for promises with one resolution. It does not handle cancellation.
Use useEffect for lifecycle work. Use TanStack Query for network calls.
New tools have narrow uses. Do not refactor everything. Test one example first.