use*_*463 5 javascript router reactjs
我使用的是React 0.14.0,React Router 2.0.0-rc4,browserify 11.2.0,babelify 7.2.0.
这是我的路由器代码:
render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Departments} />
<Route path="goals" component={Goals} />
<Route path="departments" component={Departments} >
<Route path="department" component={Department} />
</Route>
</Route>
</Router>
), document.getElementById('react-container'))
Run Code Online (Sandbox Code Playgroud)
root/departments工作正常但不是root/departments /.root/departments/department也不起作用.我不知道为什么.
它似乎与任何类型的参数:myParam无法识别.
我看不出我的代码和文档中提供的示例之间有什么区别.
另一件奇怪的事情是我没有警告:
Warning: [react-router] Location "undefined" did not match any routes
Run Code Online (Sandbox Code Playgroud)
我有:
Uncaught SyntaxError: Unexpected token < bundle.js:2
Run Code Online (Sandbox Code Playgroud)
如果我点击chrome的开发工具中的bundle.js链接,我会到达index.html(但是bundle.js是标签的名称).
基本路线,如/,部门和目标工作正常.
我有点坚持这个.任何意见将是有益的.
完整代码可在此处获取:https://github.com/codeforabq/Open-Budget-ABQ/tree/dev
谢谢.
小智 1
“根/部门/部门”不起作用。
这背后的原因是——部门不是“部门”的子项。它只是“App”组件的子组件。
如果您想允许“根/部门/部门”产生结果,那么您必须将“部门”作为“部门”的子级。
为此,您必须给出如下所述的路径:
<Router history={browserHistory}>
<Route path="/" component={Departments}>
<IndexRoute component={Goals} />
<Route path="department" component={Department} />
</Route>
</Route>
</Router>Run Code Online (Sandbox Code Playgroud)