Next.js использует подход навигации на стороне клиента, который использует HTML5 History API. Это позволяет осуществлять плавные переходы между страницами на стороне клиента без перезагрузки всей страницы. Фреймворк предоставляет встроенный компонент Link
, который облегчает навигацию на стороне клиента, и поддерживает как традиционные теги <a>
, так и программную навигацию через модуль next/router
.
Вот обзор того, как Next.js обрабатывает навигацию на стороне клиента:
Компонент Link:
- Компонент
Link
является ключевой частью навигации на стороне клиента в Next.js. Он используется для создания ссылок между страницами в вашем приложении. - Используя компонент
Link
, когда пользователи кликают на ссылку, Next.js перехватывает событие навигации и загружает необходимые ресурсы для новой страницы без запуска полной перезагрузки страницы.
import Link from 'next/link';
const MyComponent = () => (
<Link href="/another-page">
<a>Перейти на другую страницу</a>
</Link>
);
Программная навигация:
- В дополнение к использованию компонента
Link
, Next.js предоставляет хукuseRouter
и объектrouter
для программной навигации. Это полезно, когда вы хотите перейти на основе взаимодействия пользователя или в ответ на определенные события.
import { useRouter } from 'next/router';
const MyComponent = () => {
const router = useRouter();
const handleClick = () => {
router.push('/another-page');
};
return (
<button onClick={handleClick}> Перейти на другую страницу </button>
);
};`