Установка React Router в Redux приложение

На прошлых уроках мы установили основные инструменты для работы с Redux. Часто бывает так, что приложению нужен маршрутизатор для навигации по его web-страницам и наше приложение не станет исключением. Для этого мы установим библиотеку React Router.

Откроем наш проект и наберем в терминале следующую команду:

npm install react-router-dom

Забегая немного вперед, скажу, что наше Redux приложение традиционно посвящено продуктам, информация о которых выкладывается некими продавцами. Поэтому сейчас мы немного переделаем главный компонент App, а также добавим в приложение функционал для осуществления маршрутизации.

Для начала зайдем в папку src, а затем в app и создадим здесь файл root.jsx. Это будет корень нашего сайта: cлева у нас будет менюшка, а справа - контент (пока же у нас здесь только заголовок):

function Root() { return ( <div id="main"> <div id="menu"> <nav> <a>Products</a> <a>Sellers</a> </nav> </div> <div id="main_page"> <h2>This is my first Redux app!</h2> <hr></hr> </div> </div> ) } export default Root

А компонент App мы переделаем. Для начала полностью удалим его содержимое. Затем импортируем две функции для роутера и наш корневой компонент Root:

import { createBrowserRouter, RouterProvider } from 'react-router-dom' import Root from './app/root'

Ниже после импорта создадим роутер, и пропишем первый маршрут, передав ему наш Root в качестве отображаемого элемента и, соответсвенно, установив путь в '/'. В дальнейшем в App мы будем добавлять и другие необходимые маршруты:

const router = createBrowserRouter([{ path: '/', element: <Root /> }])

Ниже напишем код функции App:

function App() { return <RouterProvider router={router} /> } export default App

Все. Запускаем. В следующем разделе мы будем реализовывать компоненты для работы Redux приложения.

Напоследок добавим немного красоты, прописав для этого стили в index.css:

body { font-size: 24px; line-height: 1.5; } nav { display: flex; flex-direction: column; } ul { list-style: none; padding: 0; } h1, h2, h3 { margin: 0; } a { text-decoration: none; color: blue; cursor: pointer; } #main { display: flex; margin: 20px; } #menu { margin-right: 50px; padding-top: 50px; padding-right: 50px; border-right: 2px solid lightgray; font-weight: bold; }

Добавьте React Router в ваше приложение.

Пусть ваше приложение будет касаться студентов, информацию о которых будут выкладывать преподаватели. Учитывая это, создайте корневой компонент Root. Переделайте компонент App как описано в уроке.



Чат с GPT Компилятор