React Router Redux的问题(" React.createElement:类型无效"错误)

时间:2017-11-15 09:05:44

标签: reactjs react-router react-redux

我在设置React-Router-Redux时遇到了一些问题。 我只关注https://github.com/ReactTraining/react-router/tree/master/packages/react-router-redux#usage上的基本示例。

我的App.jsx看起来像这样:

import React, { Component } from 'react';
import { Route, Switch } from 'react-router-dom';
import { Provider } from 'react-redux';
import { ConnectedRouter } from 'react-router-redux';
import createHistory from 'history/createBrowserHistory';

import Home from './containers/Home';
import About from './containers/About';
import store from './store';

const history = createHistory();

class App extends Component {
  render() {
    return (
      <Provider store={store}>
        <ConnectedRouter history={history}>
          <div>
            <Route exact path="/" component={Home}/>
            <Route path="/about" component={About}/>
          </div>
        </ConnectedRouter>
      </Provider>
    );
  }
}

export default App;

当我保存时,我收到以下错误:

  

React.createElement:type无效 - 期望一个字符串(对于内置组件)或类/函数(对于复合组件)但得到:undefined。您可能忘记从其定义的文件中导出组件。

     

在App.js检查您的代码:25。

第25行是: <ConnectedRouter history={history}>

有人能帮助我吗?

这些是我的依赖项:

"react": "^15.6.1",
"react-dom": "^15.6.1",
"react-redux": "^5.0.6",
"react-router": "^4.2.0",
"react-router-dom": "^4.2.2",
"react-router-redux": "^4.0.8",
"history": "^4.7.2",
"redux": "^3.7.2",

1 个答案:

答案 0 :(得分:4)

ConnectedRouter组件可用于react-router-redux版本5.请查看this issue。正如我们从您的依赖项中看到的那样,您当前使用react-router-redux版本4。

因此,您应该以这种方式升级react-router-redux包:

如果您使用npm

npm install react-router-redux@next

或者如果您使用yarn

yarn add react-router-redux@next