【发布时间】:2016-08-07 23:16:14
【问题描述】:
由于某种原因,我收到了来自 chrome 的投诉
import React from 'react';
import {Route, DefaultRoute} from 'react-router';
import App from "components/app"
import FindView from "components/find";
import RememberView from "components/remember";
import MetaView from "components/meta";
import ExploreView from "components/explore";
export default (
<Route name='pkm' path='/' handler={App}>
<DefaultRoute handler={RememberView} />
<Route name="remember" handler={RememberView} />
<Route name="find" handler={FindView} />
<Route name="meta" handler={MetaView} />
<Route name="explore" handler={ExploreView} />
</Route>
);
在 DefaultRoute 线看起来像 React.createElement:类型不应为 null、未定义、布尔值或数字。它应该是字符串(用于 DOM 元素)或 ReactClass(用于复合组件。
我不明白这是为什么。我看到的所有使用 ES6 的路由器示例都与此类似。我错过了什么?
当我尝试运行它时,我发现它不知道路由器是什么?
import React from 'react';
import ReactDOM from 'react-dom'
import Router from 'react-router';
import routes from './routes';
import App from 'components/app'
Router.run(routes, Router.HistoryLocation, (App, state) => {
ReactDOM.render(<App {...state}/>, document.getElementById('content'));
});
module.js:8Uncaught TypeError:无法读取未定义的属性“运行”。
所以我显然没有得到任何东西。
【问题讨论】:
-
第一部分是因为 DefaultRoute 不是 IndexRoute。我仍然停留在第二个。
标签: react-router