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

О searchParams обычно думают как о простой детали маршрута. Но даже здесь есть мелочь, которая быстро показывает качество кода. Речь о повторяющемся параметре. Например, страница открывается не как /goods?q=phone, а как /goods?q=phone&q=tv.

На таком URL приложение всё равно должно вести себя предсказуемо. Если код бездумно читает только одно значение или вообще не определяет правило обработки, появляются странности - поле ввода показывает одно, серверный запрос уходит с другим значением, а результат зависит не от явной логики, а от случайности.

Для query-параметров лучше заранее определить политику. Например, брать только первое значение через getAll("q")[0], либо нормализовать URL до одного q. Важна не сама стратегия, а то, что она выбрана сознательно.

Такие вещи выглядят мелочью только до первого продового кейса. В реальной жизни повторяющиеся параметры приходят из внешних ссылок, ручных правок URL, редиректов и неаккуратной интеграции.

Статья на Хабр Проект: Goods Finder Stepik: Next.js I: JavaScript 2026

#nextjs #AppRouter #searchParams #URLSearchParams #querystring #urlstate #navigation #servercomponents #react #javascript #webdev

Повторяющийся q в URL | Сетка — социальная сеть от hh.ru