React Router不适用于特定路由

时间:2016-05-08 19:07:09

标签: reactjs react-router

我目前正在使用React路由器开发React Web应用程序。我想要三条路线:

  1. /这是主页
  2. /:这是类似localhost / about的页面。
  3. /:page /:subpage,类似于/ services / video

                ReactDOM.render(
                <Provider store={store}>
                <Router history={browserHistory}>
                <Route path="/(:page)(/:subpage)" component={AppContainer}/>
                </Router>
                </Provider>
                , document.getElementById("target"));
    

    所有路线的组件都相同。我只是选择我在render方法中传递给道具的数据。

  4. 前两条路线有效,但如果我把网址放在浏览器中,/ services / video就没有了。我只是得到一个空页。我的主页上也有一个Link元素。当我点击它时,所需的页面加载得很好,而网址实际上是http://localhost/services/video。但是,如果我重新加载页面,我会再次获得一个空页面。

    所有这一切都适用于前两条路线,只有第三条路线失败。我用来为静态html页面提供服务的Express服务器是这样的: let express = require(“express”);

    let app = express();
    app.use(express.static(__dirname + '/'));
    app.get('*', function(req, res){
        res.sendFile(__dirname + '/index.html');
    });
    app.listen(3000); 
    

    我注意到一些有趣的事情: 当我使用带有组件的导航栏时,我会访问/ services / video,但找不到/显示图像。但是,当我去/关于图像显示。现在,当我导航到/ services / video然后我使用菜单导航到/关于链接实际变为http://localhost:3000/services/services/about这是不正确的,它显示正确的页面,但没有图像。

0 个答案:

没有答案