Введение
Исторически в Интернете вы перейдете на разные страницы, и местонахождение текущей страницы будет в панели местоположения браузера. Кнопки задней и вперед сработают, как и ожидалось.
В наши дни, в одностраничных приложениях, вышеупомянутые функции на самом деле не работают так же. Все, что происходит в современных одностраничных приложениях, происходит на одной странице – за кулисами 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 (
[Home Page]
);
}
export function Products() {
return (
[Products]
);
}
export function Blog() {
return (
[Blog]
);
}
export function Catalog() {
return (
[Catalog]
);
}
export function SignUp() {
return (
[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 (
Trend
);
}
}
export default App;
Вывод
Маршрутизатор React может использоваться для повышения функциональности пользовательского интерфейса вашей веб -страницы React. Это идеально, если вы хотите, чтобы URL -адрес в панели местоположения изменился в зависимости от того, в какой области сайта пользователь в настоящее время просматривает. Это может быть важно, потому что пользователи могут затем использовать закладки, чтобы вернуться к ключевой части вашего веб -сайта, к которой они хотят вернуться, и использовать кнопки Back и Forw к.
Оригинал: “https://dev.to/peterklingelhofer/react-router-nm7”