React-Router params重写脚本和链接标记网址

时间:2016-07-10 19:24:14

标签: reactjs react-router

我使用React-Router v2.5.2。

我的路线看起来像这样:

var routes = (
    <Router history={browserHistory}>
        <Route path="/">
          <Route path="challenges" component={ChallengeView} />
          <Route path="c/:id" component={ChallengeDetails} />
          <Route path="*" component={NotFound} />
        </Route>
    </Router>
);

ReactDOM.render(routes, document.getElementById('content'));

只要我不将params写入路径的路径,每个组件都会呈现正常。

E.g:

<Route path="c" component={ChallengeDetails} />

将组件渲染得很好。

但是当我在url中请求params时,组件根本不会呈现,并且我的脚本和css标记的路径被重写(控制台错误)。

E.g。

GET http://localhost:3000/c/build/css/style.css 
GET http://localhost:3000/c/build/main.js

我的javascript和样式由Gulp放置在build文件夹中(位于index.html旁边)。 React-Router以某种方式将“c /” - 路由添加到URL,但仅当路由包含参数时。根本没有渲染相关的组件(React-DevTools找不到任何组件)。

编辑: 我的index.html

<!DOCTYPE html>
<html>
<head>
  <title></title>

  <link rel="stylesheet" href="build/css/style.css">
</head>
<body>
  <div id="content"></div>
  <script src="build/main.js"></script>
</body>
</html>

如何正确渲染参数路线?

0 个答案:

没有答案