forwardRef in React 19: Why I Stopped Writing It
React 19 turns ref into a regular prop, so forwardRef is on its way out. Here's how I migrate components, plus the codemod gaps and…
React 19 turns ref into a regular prop, so forwardRef is on its way out. Here's how I migrate components, plus the codemod gaps and…
I moved nearly every mutation in two production Next.js apps onto Server Actions. Here is what got deleted, what useActionState fixed, and what still bites.
Eight months running React Server Components in production. The boundary patterns that worked, the bugs I shipped, and when I still pick client components.
useOptimistic in React 19 is the first optimistic UI API I actually shipped. Six months of production lessons: where it fits, where it doesn't, what…
I spent a Sunday turning on the React Compiler in a real Next.js app. Here's what I deleted, what bit me, and the eslint rule…
I avoided React Suspense for two years and was wrong. Six months in, here are the patterns that actually saved me, and where I still…
Six weeks with useActionState in React 19: where it kills useReducer, the error-handling pattern I use, and when I still reach for the old way.
Six years of React, written from the bruises. When each hook actually earns its keep, and the times I reached for one and made things…
Six months after React 19 went stable, here are the features I actually use day to day, the ones I forget exist, and the ones…
A practical tour of React 19's useOptimistic hook with before/after code for a like button, a task list, and the gotchas I hit in production.