The In-Between States

Async React patterns with Next.js 16

The In-Between States
November 6, 2025 · 2 min read

Why in-between states matter and how to solve the coordination problem.

When to Use Client Components
November 4, 2025 · 2 min read

Server vs Client Components, CSS :has() for parent styling, leaf principle.

Streaming with Suspense
November 2, 2025 · 2 min read

Independent streaming, boundary placement strategy, transitions preserve content.

Server Functions
October 31, 2025 · 2 min read

Server Functions with Zod validation, typed results, granular cache invalidation.

useActionState for Forms
October 29, 2025 · 2 min read

Form state preservation with useActionState, defaultValue pattern, create/edit reuse.

useFormStatus
October 27, 2025 · 2 min read

SubmitButton pattern, child component constraint, localized form feedback.

useOptimistic for Instant Feedback
October 25, 2025 · 2 min read

Instant feedback with useOptimistic, derived pending state, data-pending for parent styling.

Caching with use cache
October 23, 2025 · 3 min read

"use cache" with cacheTag, revalidateTag + refresh() for invalidation, granular tags.

View Transitions API
October 21, 2025 · 2 min read

Page-level transitions, shared element morphing, directional navigation.

Error Handling Patterns
October 19, 2025 · 3 min read

ErrorCard for page errors, ErrorBoundary for inline, StatusCard for 404/expected states.

generateStaticParams
October 17, 2025 · 2 min read

Pre-render dynamic routes, generateMetadata for SEO, on-demand generation.

URL State with searchParams
October 15, 2025 · 2 min read

searchParams for shareable state, Zod validation, optimistic URL updates.

cache() for Deduplication
October 13, 2025 · 2 min read

Request deduplication with cache(), combining with "use cache" directive.

useTransition for Pending UI
October 11, 2025 · 2 min read

isPending for destructive actions, comparison with useOptimistic, keeping content visible.

Skeleton Co-location Pattern
October 9, 2025 · 2 min read

Co-locate skeletons with components, match layout structure, prevent CLS.

Authorization with unauthorized()
October 7, 2025 · 1 min read

unauthorized() in Server Components and queries, StatusCard UI.

Static vs Dynamic Rendering
October 5, 2025 · 2 min read

cacheComponents default, what triggers dynamic rendering, push dynamic access deep.

The Action Prop Pattern
October 3, 2025 · 2 min read

Action props for reusable components, encapsulate transitions and optimistic state.

useLinkStatus for Navigation
October 1, 2025 · 2 min read

Link pending state with useLinkStatus, child component pattern, comparison with useTransition.