【问题标题】:react-router gives warning and then doesn't workreact-router 发出警告,然后不起作用
【发布时间】: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


【解决方案1】:

您使用的是哪个版本的 react-router?在最新版本中,Router 模块没有定义运行函数。

在最新版本中,配置如下

ReactDOM.render(
  <Router routes={routes} />
, document. getElementById('content'))

更多详情请参考documentation

【讨论】:

    【解决方案2】:

    是的。我在一个更新的版本。我根据 github 的 react-router 文档重新编写了代码并解决了问题。

    【讨论】:

      猜你喜欢
      • 2018-09-01
      • 2017-08-09
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-31
      • 2017-09-07
      • 1970-01-01
      相关资源
      最近更新 更多