Instant URL search params in Next.js

Frontend First

Sam and Ryan discuss the intuition behind React Transitions, and why React’s new useOptimistic hook is a good fit for building a URL-driven filter panel that stays fully responsive to client interactions.

Sam and Ryan discuss the intuition behind React Transitions, and why React’s new useOptimistic hook is a good fit for building a URL-driven filter panel that stays fully responsive to client interactions.

Topics include:

  • 0:00 - Intro
  • 1:12 - The problem: In a world of Server Components, URL updates are blocked by a server-side roundtrip
  • 10:44 - Attempted solution: Use the browser’s Native History API (history.pushState)
  • 15:03 - Realization: The source of truth flips from server to client during the transition – which is exactly what useOptimistic was designed for
  • 17:54 - Unwinding our mental model of client-first React apps by thinking about how HTML-only checkout forms work
  • 21:44 - The intuition behind React Transitions, and how they put our UI into a state of preparation
  • 30:39 - How Transitions improve upon default browser behavior by keeping our current UI 100% responsive, and how useOptimistic solves the checkbox filter panel
  • 37:46 - Ryan’s take: It’s a bonus when tools make you feel smart, but it’s more important for them to not make you feel dumb

Audio Player

-
--:--
--:--