我使用的反應,路由器ES6類和它不斷拋出錯誤DefaultRoute拋出「不能調用類的函數」
Uncaught TypeError: Cannot call a class as a function
它指的是缺省路由的聲明。大部分代碼都是從react-router回購的例子中獲得的,這就是爲什麼我想知道爲什麼它是越野車。
import React from 'react';
import Router from 'react-router';
import {Header} from './components/Header.react.jsx';
var DefaultRoute = Router.DefaultRoute;
var Link = Router.Link;
var Route = Router.Route;
var RouteHandler = Router.RouteHandler;
var App = React.createFactory(React.createClass({
render: function() {
return (
<div>
<Header />
<RouteHandler />
</div>
);
}
}));
var Inbox = React.createClass({
render: function() {
return (
<div>
test
</div>
);
}
});
var routes = (
<Route name="app" path="/" handler={App}>
<DefaultRoute handler={Inbox}/> // ERROR
</Route>
);
Router.run(routes, Router.HistoryLocation, function (Handler) {
React.render(<Handler/>, document.body);
});
無論你是使用舊版本transpiler改造,或者使用的是舊版本的反應路由器的。 – FakeRainBrigand 2015-03-31 19:53:11
我從tranceur切換到babelify和更新的react-router,現在它可以工作。 – johnny 2015-04-09 15:59:33