
React Server Components: what they are and how they change the way you write components
Server Components vs Client Components, the 'use client' and 'use server' directives, what runs where, and how they pair with Suspense and use().
12posts

Server Components vs Client Components, the 'use client' and 'use server' directives, what runs where, and how they pair with Suspense and use().

React 19's new use() API overlaps with useContext but breaks the Rules of Hooks on purpose. Here's how they differ, with examples for context and promises.

route.lazy in React Router blocks the URL/Outlet swap until the chunk is ready: why it happens, and how Component: lazy(...) gets an immediate swap.

A React Compiler bug where one component bails out of memoization while its sibling silently gets memoized, freezing UI fed by a stable object reference. Root cause and fix.

What the React Compiler actually does, when useMemo and useCallback become unnecessary, and why the Rules of React matter more than before.

Let's look at a few examples of how React 19's new useActionState and useFormStatus hooks work

How Error Boundaries work in React: components that catch errors from their children to improve your app's stability and reliability.

How to correctly handle event handlers in React, including events on window like resize and scroll, avoiding the most common mistakes.

A practical guide to React's useReducer hook: how it works, when to prefer it over useState, and a complete example for managing complex state.

How the useContext hook works in React to share data between components without props drilling, with a practical step-by-step example.

The most common mistakes to avoid when using React hooks: conditional calls, order, nested functions, and how to recognize them.

How to combine useContext and useState in React to share state and its update function between components, with a live example.