获取`元素类型无效:使用react-redux-router时预期出现字符串`错误
Posted
技术标签:
【中文标题】获取`元素类型无效:使用react-redux-router时预期出现字符串`错误【英文标题】:Get `Element type is invalid: expected a string ` error when using react-redux-router 【发布时间】:2018-05-30 20:49:11 【问题描述】:我正在使用来自此 repo https://github.com/reacttraining/react-router/tree/master/packages/react-router-redux 的 react-router-redux
来路由我的应用程序。
但我的浏览器控制台中总是出现以下错误:
Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
下面是App
组件的源码。所有这些代码都是前端:
const history = createHistory();
const rMiddleware = routerMiddleware(history);
const logger = createLogger(
log: 'info',
);
const store = compose(
applyMiddleware(thunk, authMiddleware, rMiddleware, logger)
)(createStore)(combineReducers(...reducers, router: routerReducer));
export default class App extends Component
render()
return (
<Provider store=store>
<ConnectedRouter history=history>
<Switch>
<Route exact path="/" component=Home />
</Switch>
</ConnectedRouter>
</Provider>
);
下面是 Home 组件代码:
class Home extends React.Component
render()
return <div>Home</div>;
const mapStateToProps = state =>
return
;
;
const mapDispatchToProps = dispatch =>
return
;
;
export default connect(mapStateToProps, mapDispatchToProps)(Home);
【问题讨论】:
我们可以看到主页和登录吗? 我已经更新了源代码。 我目前在 react-router 学习曲线上。总是当我收到这个错误时,这是我的导入语句中的路径错误(我正在使用 ES6 模块)。不过,您没有在这里展示这些内容。 【参考方案1】:好的,终于找到问题了。这是因为版本不匹配。我应该使用"react-router-redux": "^5.0.0-alpha.9",
而不是版本4.x.x
,因为它与react-router 4.x.x 不兼容。
【讨论】:
以上是关于获取`元素类型无效:使用react-redux-router时预期出现字符串`错误的主要内容,如果未能解决你的问题,请参考以下文章
获取`元素类型无效:使用react-redux-router时预期出现字符串`错误