3
我试图在我的应用程序上实现react-router。我的主要文件包含以下代码:反应路由器错误 - '不能调用方法'getRouteAtDepth'未定义'
'use strict';
import 'babel/polyfill';
import React from 'react/addons';
import App from './components/App';
import ContentPage from './components/ContentPage';
import Dispatcher from './core/Dispatcher';
import AppActions from './actions/AppActions';
import Router from 'react-router';
var { Route, RouteHandler, Link } = Router;
function run() {
var routes = (
<Route name="app" path="/" handler={App}>
<Route handler={ContentPage}/>
</Route>
);
Router.run(routes, function (Handler) {
React.render(<Handler/>, document.body);
});
}
里面我应用组件我有这样的代码:
render() {
return (
<div className="App">
<RouteHandler />
</div>
);
}
此代码生成以下错误:
TypeError: Cannot call method 'getRouteAtDepth' of undefined
at RouteHandler.createChildRouteHandler
如果我改变<RouteHandler />
直接<ContentPage />
,代码有效。 任何想法我做错了什么?
编辑: 很显然,我是用“React starter kit”,这使得在服务器上的“应用程序”组件为好。将反应路由器添加到该组件时,会产生此(服务器端)错误。
我不需要服务器端渲染我的项目,所以删除这个解决了我的问题。我会尽力调查为什么这件事发生在我有空的时候。
您使用的是哪个版本的React? – 2015-04-04 09:36:43
react版本:“0.13.0”,react-router:“0.13.2” – 2015-04-04 09:58:12
这是怎么回事:https://github.com/rackt/react-router/issues/720 – WiredPrairie 2015-04-04 12:38:16