Next.js, фильтры без client state

Next.js, фильтры без client state

Когда фильтры в каталоге живут в client state, почти сразу появляется знакомый набор задач: синхронизировать их с URL, не потерять при reload, поддержать back/forward, не запутаться в useEffect и не разнести логику по нескольким уровням интерфейса.

Повторяющийся q в URL

Повторяющийся q в URL

Один из полезных тестов для App Router это не только searchParams сами по себе, но и их грязные варианты. Например: /goods?q=phone&q=tv.

Next.js, back/forward

Next.js, back/forward

О back и forward обычно вспоминают слишком поздно. Пока всё тестируется в лоб, интерфейс выглядит нормальным. Но как только пользователь проходит цепочку список -> поиск -> другой фильтр -> карточка -> назад, становится видно, насколько страница вообще держится как система.

1