У меня есть эта система маршрутов
....
<Route path = "/:slug_1/:slug_2" name = "component_2" component = {component_2}/>
<Route path = "/:slug_1" name = "component_1" component = {component_1}/>
....
При загрузке домашней страницы я нажимаю ссылку component_1 по пути .../slug-1
После щелчка по ссылке component_2 по пути .../slug-1/slug-2. Но после этого, когда я нажимаю ссылку component_1 и в URL-адресе создается путь .../slug-2/slug-1, но это должен быть только путь .../slug-1.
Пожалуйста, помоги мне))





Измените порядок и сделайте component_1 точным следующим образом:
....
<Route exact path = "/:slug_1" name = "component_1" component = {component_1}/>
<Route path = "/:slug_1/:slug_2" name = "component_2" component = {component_2}/>
....
При этом, если пользователь не вводит слизень_2, маршрут перейдет к component_1.
Если присутствует слизень_2, он перейдет к компонент_2
@ coding-scripting какой путь по ссылке? если путь ссылки похож на <Link to = "/ aslug" />, он должен поймать компонент_1
пути ссылок составляют в цикле <Link to = {slug} />, но после клика отображается URL после старого пути
Обратите внимание на использование Switch и точный путь
import React from 'react';
import {BrowserRouter, Route, Switch} from 'react-router-dom';
import App from './App';
import Component1 from './Component1';
import Component2 from './Component2';
const Router = () => (
<BrowserRouter>
<Switch>
<Route exact path = "/" component = {App} />
<Route exact path = "/slug1" component = {Component1} />
<Route path = "/slug1/:slug2" component = {Component2} />
</Switch>
</BrowserRouter>
);
export default Router;
Ваш основной файл отображает компонент Router, который можно использовать для навигации по всему приложению.
import React from 'react';
import { render, } from 'react-dom';
import Router from './components/Router';
render(<Router />, document.getElementById('root'));
Да, но мне нужно, чтобы slug_1 и slug_2 были динамическими
@ coding-scripting, я просто воспроизвел проблему, и она хорошо работает, используя код: <Route path = "/: about" component = {About} /> <Route path = "/: about /: projects" component = {Project } /> <Link to = "/ about"> Обо мне </Link> <Link to = "/ about / projects"> Проекты </Link>
пути ссылок составляют в цикле <Link to = {slug} /> и не работает система маршрутизатора
Не работает. В URL-адресе ссылки (../slug-1), но когда я щелкнул ссылку, маршрутизатор автоматически перенаправляет на URL-адрес (... / slug-2 / slug-2)