Реализация Breadcrumbs с React Router: Пошаговое руководство для начинающих

На список статей
Blog image

Track My Time — Управляй временем эффективно и достигай большего!
"Ваш незаменимый помощник в управлении проектами и учете времени! Отслеживайте задачи, распределяйте ресурсы и контролируйте каждую минуту работы. Повышайте эффективность, упрощайте процессы и достигайте результатов быстрее. Начните работать с нами и добейтесь успеха вместе!"

Введение в Breadcrumbs и React Router

Breadcrumbs или "хлебные крошки" — это элемент интерфейса, который показывает путь пользователя от главной страницы до текущей. Они помогают ориентироваться, особенно на сайтах с большим количеством страниц.

React Router — это мощный инструмент для работы с маршрутизацией в React. Он позволяет настраивать маршруты и управлять состоянием URL в вашем приложении. Вместе они создают удобный и логичный интерфейс.

Шаг 1: Подготовка проекта

Прежде чем начать, убедитесь, что ваш проект настроен для использования React Router. Если вы еще не установили его, сделайте это с помощью команды:

npm install react-router-dom

После этого добавьте Router в корень вашего приложения:

import React from 'react';
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';

function App() {
 return (
   <Router>
     <Routes>
       <Route path="/" element={<Home />} />
       <Route path="/about" element={<About />} />
       <Route path="/contact" element={<Contact />} />
     </Routes>
   </Router>
 );
}

function Home() {
 return <h1>Главная страница</h1>;
}

function About() {
 return <h1>О нас</h1>;
}

function Contact() {
 return <h1>Контакты</h1>;
}

export default App;

Шаг 2: Создание компонента Breadcrumbs

Теперь создадим компонент Breadcrumbs. Он будет отображать путь, основываясь на текущем маршруте. Для этого:

1. Получите текущий маршрут: Используйте useLocation из React Router, чтобы определить, где находится пользователь.
2. Разделите путь: Разбейте URL на сегменты для создания списка.
3. Составьте ссылки: С помощью Link создайте кликабельные элементы для перехода.

import React from 'react';
import { Link, useLocation } from 'react-router-dom';

function Breadcrumbs() {
 const location = useLocation();
 const pathnames = location.pathname.split('/').filter((x) => x);

 return (
   <nav>
     <Link to="/">Главная</Link>
     {pathnames.map((value, index) => {
       const to = `/${pathnames.slice(0, index + 1).join('/')}`;
       return (
         <span key={to}>
           {' > '}
           <Link to={to}>{value}</Link>
         </span>
       );
     })}
   </nav>
 );
}

export default Breadcrumbs;

Шаг 3: Интеграция Breadcrumbs в приложение

После того как компонент готов, добавьте его в приложение. Обычно Breadcrumbs располагаются в верхней части страницы, чтобы пользователь мог сразу увидеть свой путь.

import React from 'react';
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import Breadcrumbs from './Breadcrumbs';

function App() {
 return (
   <Router>
     <Breadcrumbs />
     <Routes>
       <Route path="/" element={<Home />} />
       <Route path="/about" element={<About />} />
       <Route path="/about/team" element={<Team />} />
       <Route path="/contact" element={<Contact />} />
     </Routes>
   </Router>
 );
}

function Home() {
 return <h1>Главная страница</h1>;
}

function About() {
 return <h1>О нас</h1>;
}

function Team() {
 return <h1>Наша команда</h1>;
}

function Contact() {
 return <h1>Контакты</h1>;
}

export default App;

Теперь Breadcrumbs будут автоматически обновляться при навигации по страницам.

Комментарии

Пока нет комментариев

Добавить комментарий