freeCodeCamp/guide/russian/react/react-router/index.md

51 lines
3.8 KiB
Markdown
Raw Normal View History

2018-10-19 12:53:51 +00:00
---
title: React Router
localeTitle: React Router
---
2018-10-19 12:53:51 +00:00
# React Router для начинающих
2018-10-12 20:00:59 +00:00
# Установка
2018-10-12 20:00:59 +00:00
React Router был разбит на три пакета: `react-router` , `react-router-dom` и `react-router-native` .
Вам почти никогда не придется устанавливать react-router напрямую. Этот пакет предоставляет основные компоненты и функции маршрутизации для приложений React Router. Оставшиеся два пакета предоставляют компоненты специфические для среды исполнения (браузеры и react-native), но оба они также экспортируют все необходимое, что экспортируется пакетом react-router.
2018-10-12 20:00:59 +00:00
Мы создаем веб-сайт (что-то, что будет запускаться в браузерах), поэтому мы установим response-router-dom.
`npm install --save react-router-dom`
# Маршрутизатор
При запуске нового проекта вам необходимо определить, какой тип маршрутизатора использовать. В нашем случае, для проектов работающих в браузере, существуют `<BrowserRouter>` и `<HashRouter>`. `<BrowserRouter>` следует использовать, когда у вас есть сервер, который будет обрабатывать динамические запросы (знает, как реагировать на любой возможный URI), в то время как `<HashRouter>` должен использоваться для статических веб-сайтов (где сервер может отвечать только на запросы файлов, о которых он знает).
2018-10-12 20:00:59 +00:00
Обычно рекомендуется использовать `<BrowserRouter>`, но если ваш сайт будет размещен на сервере, который обслуживает только статические файлы, то маршрутизатор `<HashRouter>` является хорошим решением.
2018-10-12 20:00:59 +00:00
Для нашего проекта мы сделаем допущение, что веб-сайт поддерживаться динамическим сервером, поэтому нашим компонентом маршрутизатора будет является `<BrowserRouter>` .
2018-10-12 20:00:59 +00:00
# Импортирование
2018-10-12 20:00:59 +00:00
```javascript
2018-10-19 12:53:51 +00:00
import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';
2018-10-12 20:00:59 +00:00
```
## Компонент Link
2018-10-12 20:00:59 +00:00
Теперь давайте добавим навигацию, чтобы у нас получилось перемещаться между страницами.
2018-10-12 20:00:59 +00:00
Для этого мы будем использовать компонент `<Link>` . Использование компонента `<Link>` похоже на использование тегов ссылок в html.
2018-10-12 20:00:59 +00:00
Из официальной документации:
2018-10-12 20:00:59 +00:00
Основной способ реализации перемещения по вашему приложению. Компонент `<Link>` отрисовывает полностью рабочий тег ссылки, с соответствующим адресом href. Для начала создадим компонент Nav. Наш компонент Nav будет содержать компоненты `<Link>` и выглядит следующим образом:
2018-10-12 20:00:59 +00:00
```javascript
2018-10-19 12:53:51 +00:00
const Nav = () => (
<div>
<Link to='/'>Home</Link>&nbsp;
<Link to='/address'>Address</Link>
</div>
)
```