Когда в Next.js нужен Link, а когда router.push

Когда в Next.js нужен Link, а когда router.push

Когда в Next.js нужен Link, а когда router.push. В App Router это не спор двух инструментов, а обычная архитектурная развилка.

Если переход известен заранее и является частью интерфейса, лучше Link.Если адрес нужно собрать по ходу действия, например из search input, фильтра, формы или условия, лучше router.push.

Хорошая короткая формула:Link — декларативная навигация.router.push — навигация из логики.

Ошибка здесь обычно не в выборе API, а в смешении ролей. Когда любой переход начинают делать через push, JSX теряет прозрачность. Когда через Link пытаются выразить логику, код тоже становится странным. Поэтому выбор лучше делать не по вкусу, а по типу навигации.

Контекст по App Router и URL-state разобрал на Хабр

Живой пример: Goods Finder

Начать дискуссию