Loading video...

Video Failed to Load

Go Home

Next.js 15: <Form> • Prefetching • Client-side navigation • Progressive enhancement It is useful for forms that navigate to a new page, such as a search form that leads to a results page.

67,908 views • 1 year ago •via X (Twitter)

10 Comments

Delba's profile picture
Delba1 year ago

🚀 by @lubieowoce

henrique cunha's profile picture
henrique cunha1 year ago

delba, please release your remotion setup 🙏

Sidi jeddou's profile picture
Sidi jeddou1 year ago

This is amazing, Delba. I’m not sure if I should upgrade to v15 for I’m scared😅

Delba's profile picture
Delba1 year ago

Up to you. Some folks like to wait a bit. If it helps, we've had two RCs and use v15 on all Vercel sites. If you do, try running the upgrade CLI with automated codemods for every change. Let us know if it missed anything.

Matt's profile picture
Matt1 year ago

Love these vids every time Delba 🙏🏼

freddie's profile picture
freddie1 year ago

i could swear i’ve seen this API before

Vitaly Gashkov's profile picture
Vitaly Gashkov1 year ago

What color theme is this? 🤔

Indra Zulfi🧢's profile picture
Indra Zulfi🧢1 year ago

Hey @delba_oliveira Thanks for Sharing. Quick qs, How do you build this kind of video?

Prabhas's profile picture
Prabhas1 year ago

Great explanation with cool animation

Andrew Aliaj's profile picture
Andrew Aliaj1 year ago

another cool feature by Next.js

Related Videos

How should you search, filter, and paginate data with Next.js? This demo has 50,000 books in a Postgres database. • Page Load: When the page loads, we see the React Suspense fallback. This loading skeleton is displayed until the first page of books is retrieved from the database. • Searching: The search input has a 200ms debounce. After 200ms of inactivity, the form submits, updating the URL state with `?q={search}`. The Server Component reads `searchParams` and queries the database. On form submission, a React transition starts, allowing us to read the pending status with `useFormStatus` to display an inline loading state. • State Preservation: Navigating to an individual book page retains the search input state. Reloading the page or sharing the link preserves the search results. • Client-side Filtering: Filtering authors in the left sidebar is done client-side. Authors are fetched by a Server Component and passed as props to the sidebar. Changing the input value updates React state and re-renders the sidebar. • Optimistic Updates: The sidebar’s selected authors are optimistically updated with `useOptimistic`. Checkbox selections update instantly without waiting for the URL to change. • State Preservation: Navigating to an individual book page retains the sidebar filter input and selected author state across navigations, giving it an app-like feel. • Pagination: Navigating between pages updates the URL state, triggering the Server Component to query the database for the specific page of books. We also fetch the total book count to show the total number of pages. This demo isn't perfect yet (still working on it) but it's been a fun playground for some of these patterns. You can imagine a similar experience for thousands of movies, cars, products, or any other very large dataset. Demo → Code →

Lee Robinson

236,712 views • 1 year ago