路由器未定义

时间:2015-11-05 19:51:51

标签: react-router

我有这段代码:

import { Router, Route } from 'react-router'

render((
  <Router>
    <Route path="/" component={ App }>
      <Route path="page1" component={ Page1 }/>
      <Route path="page2" component={ Page2 }/>
      <Route path="page3" component={ Page3 }/>
    </Route>
  </Router>
), document.getElementById('app-container'));

使用webpack和babeljs编译后,谷歌浏览器显示错误:

Warning: React.createElement: type should not be null, undefined, boolean, or number. It should be a string (for DOM elements) or a ReactClass (for composite components).
Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.

正如我想的那样,原因是路由器不会被导出为'react-router'的属性,因此路由器组件是'undefined'

我使用react-router版本0.13.5。正确使用它的方法是什么?

1 个答案:

答案 0 :(得分:0)

这是对v0.13.x和v1.0.0预发行版之间的React Router API的更改。这只是你使用的代码,例如1.0.0-rc1 API,但没有使用不同的v0.13.x API。