next/link
— это встроенный компонент в Next.js, который позволяет осуществлять переходы между маршрутами на стороне клиента. Он важен по двум основным причинам: производительность и пользовательский опыт. Благодаря возможности маршрутизации на стороне клиента, next/link
снижает нагрузку на сервер и ускоряет время загрузки страниц, улучшая общую производительность приложения. Это происходит потому, что при переходе на разные части сайта загружаются только необходимые данные, а не перезагружается вся страница. Для пользовательского опыта это приводит к более плавным переходам и меньшему времени ожидания, обеспечивая более бесшовный просмотр.
Компонент Link
в Next.js упрощает навигацию на стороне клиента в вашем приложении, улучшая производительность и пользовательский опыт.
Основные особенности
- Предварительная загрузка (Prefetching):
Link
автоматически предварительно кэширует связанные страницы, которые пользователь, вероятно, посетит следующими. Это оптимизирует время загрузки во время навигации. - Доступность: Помогает с навигационными подсказками для пользователей с экранными читалками и пользователей с клавиатуры.
- Разделение кода (Code Splitting): Next.js использует эту стратегию по умолчанию, загружая только JavaScript-код, необходимый для конкретной страницы, которую посещает пользователь.
- Интеллектуальная маршрутизация: Обрабатывает клики по ссылкам изящно, улучшая пользовательский опыт за счет предоставления утонченных навигационных эффектов.
Пример:
В следующем Example.tsx
вы можете увидеть, как Next.js обрабатывает разделение кода под капотом.
import Link from 'next/link';
const Home = () => {
return (
<div>
<h1>Home</h1>
<Link href="/about">
<a>About Us</a>
</Link>
{/* Другие навигационные ссылки */}
</div>
);
};
export default Home;
Компонент AboutUs
загружается только когда пользователь переходит на этот конкретный маршрут, демонстрируя эффективное разделение кода:
const AboutUs = () => {
return (
<div>
<h1>About Us</h1>
{/* Содержимое страницы "About Us" */}
</div>
);
}
export default AboutUs;
Когда использовать компонент Link
Компонент Link
отлично подходит для навигации внутри приложения, особенно когда:
- Направляете пользователей из одного раздела приложения в другой.
- Нужно предоставить положительную обратную связь по действиям пользователя, например, на экранах успешного завершения отправки формы.
Однако он не является идеальным выбором для:
- Открытия ссылок в новых вкладках/окнах браузера.
- Управления динамическим состоянием или побочными эффектами.