1

在我的标题中,

<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) 上,然后单击新模板链接 (/template/editor),地址栏会更新,但页面不会路由。我确定我错过了一些简单的东西,但我不知道是什么。

4

1 回答 1

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>

(注意我Switchreact-router-dom包装中使用)

另外,您说您正在使用react-redux存在一个视图未更新的已知问题。看看这个问题

于 2017-12-31T19:05:18.347 回答