React Router — библиотека для навигации между страницами в React-приложениях 🧭 Позволяет создавать SPA (Single Page Applications) с разными URL.
// Основные компоненты:
<BrowserRouter>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</BrowserRouter>React Router — как навигатор в машине: показывает, где ты сейчас и как попасть в другие места! 🚗🗺️
Обычные сайты — как книга: переход между страницами перезагружает всё:
// ❌ Обычный сайт — перезагрузка страницы
// example.com/ → example.com/about (полная перезагрузка)React-приложения — как одна страница с разными комнатами:
// ✅ React Router — без перезагрузки
// example.com/ → example.com/about (только содержимое меняется)// Оборачивает всё приложение
<BrowserRouter>
<App />
</BrowserRouter>// Определяет, что показывать на разных путях
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
<Route path="/contacts" element={<Contacts />} />
</Routes>// Вместо <a href>, чтобы не перезагружать страницу
<Link to="/about">О нас</Link>
<Link to="/contacts">Контакты</Link>function App() {
return (
<nav>
<Link to="/">Главная</Link>
<Link to="/about">О нас</Link>
</nav>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
);
}Когда пользователь:
// Для страниц товаров, профилей и т.п.
<Route path="/user/:id" element={<UserProfile />} />
// В компоненте получаем id:
const {id} = useParams(); // Если URL /user/123, то id = "123"// Только для авторизованных пользователей
<Route
path="/profile"
element={
<PrivateRoute>
<Profile />
</PrivateRoute>
}
/>// ❌ Ошибка — использовать Route без BrowserRouter
function App() {
return (
<Route path="/" element={<Home />} /> // Не работает!
);
}
// ✅ Правильно — оборачивать в BrowserRouter
function App() {
return (
<BrowserRouter>
<Route path="/" element={<Home />} />
</BrowserRouter>
);
}// ❌ Ошибка — перезагружает страницу
<a href="/about">О нас</a>
// ✅ Правильно — без перезагрузки
<Link to="/about">О нас</Link>React Router — как двери между комнатами: переходишь и попадаешь в нужное место! 🚪
Хотите больше статей для подготовки к собеседованиям? Подписывайтесь на EasyAdvice, добавляйте сайт в закладки и совершенствуйтесь каждый день 💪