我正在努力让ReactRouter设置为使用ReactJS构建单页应用程序。我遇到了设置路由器的问题。
未捕获错误:元素类型无效:期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:object。
这是我的代码。
'use strict';
const React = require('react');
const ReactDOM = require('react-dom')
const ReactRouter = require('react-router')
const when = require('when');
class App extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div className="container">
<h1>TEST</h1>
</div>
)
}
}
class Test extends React.Component {
render() {
return (
<div className="container">
<h1>TEST PAGE</h1>
</div>
)
}
}
var Router = ReactRouter;
var DefaultRoute = Router.DefaultRoute;
var Route = Router.Route;
var RouteHandler = Route.RountHandler;
var routes = (
<Route name="root" handler="{App}" path="/">
<Route handler={Test} path="test" />
</Route>
)
ReactDOM.render(<Router>{routes}</Router>, document.getElementById('react'))
答案 0 :(得分:0)
如果您正在使用react-router v1.0或更高版本,则不推荐使用handler
。请尝试使用component
:
var routes = (
<Route name="root" component="{App}" path="/">
<Route component={Test} path="test" />
</Route>
)
以下是引用RouteHandler
的升级指南