Введение
Исторически в Интернете вы перейдете на разные страницы, и местонахождение текущей страницы будет в панели местоположения браузера. Кнопки задней и вперед сработают, как и ожидалось.
В наши дни, в одностраничных приложениях, вышеупомянутые функции на самом деле не работают так же. Все, что происходит в современных одностраничных приложениях, происходит на одной странице – за кулисами JavaScript меняет пользовательский интерфейс и облегчает функциональность в фоновом режиме. Если это так, нам нужно решение маршрутизации для кнопок заднего и вперед, чтобы функционировать как предполагалось. Маршрутизация – это то, что определяет «как приложение отвечает на запрос клиента на определенную конечную точку», согласно Экспресс -документация Анкет
В то время как магистраль, например, имеет встроенную маршрутизацию, React не делает. К счастью, существует решение на основе сообщества, которое используется PayPal, Vimeo и Uber: React Router Анкет
Ключевая концепция: добавление маршрутизатора
Вы, вероятно, распознаете панель навигации, обычно он находится в верхней или левой стороне веб -сайта и позволяет пользователям легко просматривать различные разделы веб -сайта.
Потенциальная карта сайта для веб -сайта (с местными ссылками) может быть представлена следующим образом:
// Home http://localhost:8000/ // Products http://localhost:8000/#/products // Blog http://localhost:8000/#/blog // Catalog http://localhost:8000/#/catalog // Sign-Up http://localhost:8000/#/signup // 404 Error Page http://localhost:8000/#/error
Маршруты – это конечные точки, к которым можно получить доступ через панель местоположения в браузере. В каждом разделе веб -сайта будет установлен маршрут через маршрутизатор. Чтобы добиться успеха и запуска, вам нужно будет установить маршрутизатор React и React Router Dom, как и так (не стесняйтесь удалить @Experimental
):
npm install react-router@experimental npm install react-router-dom@experimental
Ключевая концепция: экспорт компонентов и добавление ссылок
Мы можем добавить ссылки на каждую страницу в панели навигации и экспортировать компонент для каждой страницы в одном файле JavaScript, например, так:
import React from "react"; export function Home() { return (); } export function Products() { return ([Home Page]
); } export function Blog() { return ([Products]
); } export function Catalog() { return ([Blog]
); } export function SignUp() { return ([Catalog]
); }[SignUp]
В нашем файле index.js нам нужно отдать то, что называется Browserrouter
:
import React from 'react'; import { render } from 'react-dom'; import App from './App'; render(, document.getElementById('app'));
Это сработает для сайта с навигационной панелью, которая выглядит примерно так:
А в app.js нам нужно импортировать каждую страницу:
import React, { Component } from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; import Home from './components/Home'; import About from './components/About'; import Contact from './components/Contact'; class App extends Component { render() { return (); } } export default App; Trend
Вывод
Маршрутизатор React может использоваться для повышения функциональности пользовательского интерфейса вашей веб -страницы React. Это идеально, если вы хотите, чтобы URL -адрес в панели местоположения изменился в зависимости от того, в какой области сайта пользователь в настоящее время просматривает. Это может быть важно, потому что пользователи могут затем использовать закладки, чтобы вернуться к ключевой части вашего веб -сайта, к которой они хотят вернуться, и использовать кнопки Back и Forw к.
Оригинал: “https://dev.to/peterklingelhofer/react-router-nm7”