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 Существует известная проблема, которая не обновляется. Посмотри на этот вопрос.

Другие вопросы по тегам