Next.js, server-rendered search вместо client-only выдачи

Next.js, server-rendered search вместо client-only выдачи

Поиск на useState и useEffect работает целиком в браузере. После загрузки компонента запускается запрос, ответ записывается в state, затем появляется список результатов.

В App Router состояние поиска можно перенести в URL. Адрес /search?q=jazz&page=2 содержит запрос и страницу выдачи. Server Component читает searchParams и получает данные до рендера результатов. Интерактивная форма остаётся на клиенте и обновляет URL. Результаты, ссылки и содержимое выдачи формирует сервер для текущего адреса.

Статья на Хабр

Проект: EventMap