我使用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>
如何正确渲染参数路线?