【问题标题】:Navigating to optional parameters with React Router使用 React Router 导航到可选参数
【发布时间】:2017-08-11 02:29:30
【问题描述】:

我正在尝试使用我的 React 路由器创建可选的子路由,但无论我搜索什么,我似乎都找不到适合我的解决方案!

我尝试了此答案中提到的所有解决方案: React Router with optional path parameter - 没有任何效果。

所以我在一个文件中有以下内容:

render(
  <Provider store={store}>
    <Router history={browserHistory} routes={routes} />
  </Provider> , document.getElementById('app')
  );

然后:

 export default (
   <Router history={browserHistory}>
     <Route path={'/'} component ={ApplicationHomePageContainer}></Route>
     <Route path={'/home'} component ={UserHomePageContainer}></Route>
     <Route path={'/circle(/:path)'} component ={CirclePageContainer}></Route>
    </Router>
 )

我尝试了许多不同的方法,但无论我做什么,/circle/whatever 路由都不会渲染任何东西。 所有其他工作都很好。

我使用的是 React 路由器 2.8.3 版本,我尝试升级到版本 3,但没有解决问题。

【问题讨论】:

    标签: javascript reactjs redux react-router react-redux


    【解决方案1】:

    我不知道它是否好,但我就是这样做的:

    <Router history={browserHistory}>
        <Route path={'/circle'} component ={CirclePageContainer}></Route>
        <Route path={'/circle/:path'} component ={CirclePageContainer}></Route>
    </Router>
    

    然后我让CirclePageContainer组件处理没有参数时的场景

    【讨论】:

      【解决方案2】:

      好吧,我发现我做错了什么。

      所以我的后端有这个:

      server.get('/*', function(req, res, next) {
      res.sendFile('index.html', { root: __dirname });
      });
      

      我只需要更改我的 html 文件夹:

      <script src="/bundle.js"></script>
      

      <script src="/bundle.js"></script>
      

      【讨论】:

        猜你喜欢
        • 2022-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-22
        • 2021-04-24
        • 2022-01-21
        • 2021-09-16
        • 2017-10-14
        • 2016-12-14
        相关资源
        最近更新 更多