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