Поиск на useState и useEffect работает целиком в браузере. После загрузки компонента запускается запрос, ответ записывается в state, затем появляется список результатов.
Популярное
Свежее
Моя лента
Сообщения
Рейтинг
Курс ИИ
Поиск на useState и useEffect работает целиком в браузере. После загрузки компонента запускается запрос, ответ записывается в state, затем появляется список результатов.
Когда фильтры в каталоге живут в client state, почти сразу появляется знакомый набор задач: синхронизировать их с URL, не потерять при reload, поддержать back/forward, не запутаться в useEffect и не разнести логику по нескольким уровням интерфейса.
Один из полезных тестов для App Router это не только searchParams сами по себе, но и их грязные варианты. Например: /goods?q=phone&q=tv.
О back и forward обычно вспоминают слишком поздно. Пока всё тестируется в лоб, интерфейс выглядит нормальным. Но как только пользователь проходит цепочку список -> поиск -> другой фильтр -> карточка -> назад, становится видно, насколько страница вообще держится как система.