我在设置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",
答案 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