Reactstrap или React-router v4 не перенаправляют для частичного изменения адреса
В моем заголовке
<NavItem>
<NavLink tag={Link} to="/template/editor">New Template</NavLink>
</NavItem>
На моей странице маршрутизатора
<BrowserRouter>
<div className="container-fluid">
<Header />
<section className="page-content">
<Route exact path="/" component={HomePage} />
<Route exact path="/template/editor/:id?" component={Authenticate(EditorPage)} />
</section>
</div>
</BrowserRouter>
Если я захожу на главную страницу (/) и нажимаю ссылку "Новый шаблон" (/template/editor), она перенаправляет меня на страницу "Новый шаблон". Однако, если я нахожусь (/template/editor/3) и нажимаю ссылку New Template (/template/editor), адресная строка обновляется, но страница не маршрутизируется. Я уверен, что упускаю что-то простое, но я не могу понять, что.
1 ответ
Решение
Я не уверен, в чем проблема, но я верю, что вы пытались сделать следующее:
<BrowserRouter>
<div className="container-fluid">
<Header />
<section className="page-content">
<Switch>
<Route exact path="/" component={HomePage} />
<Route path="/template/editor/:id?" component={Authenticate(EditorPage)} />
</Switch>
</section>
</div>
</BrowserRouter>
(Обратите внимание, я использовал Switch
от react-router-dom
пакет)
Кроме того, вы сказали, что используете react-redux
Существует известная проблема, которая не обновляется. Посмотри на этот вопрос.