Two weeks ago, I decided to migrate our Next.js 15 app to use React 19's new use hook for all data fetching.
Here's what actually happened (spoiler: it wasn't all smooth sailing).
What We'll Cover
- Why we migrated (and why you might want to wait)
- Real performance numbers from production
- 3 gotchas that will bite you
- Code examples from our actual codebase
- When to use use vs sticking with useEffect
The Setup
Our app: E-commerce dashboard with real-time analytics
Tech stack: Next.js 15, React 19, TypeScript
Team size: 5 developers (2 junior, 3 senior)
Traffic: ~50k daily users
The Migration Decision
We weren't chasing the latest shiny thing. Our data fetching code had real problems:
- 17 different loading state patterns across components
- Inconsistent error handling
- Race conditions in useEffect chains
- Junior devs struggling with async state management The use hook promised to solve all of this. But did it?
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.