我正在考虑将项目迁移到最新的react-boilerplate版本,并且许多模块已更改。我无法在React Router v4上与我的reducer和sagas一起玩。我看着Dynamically load redux reducers with react router 4 我现在收到以下错误: 警告:React.createElement:类型无效-预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到了:对象。
检查
withReducer(Component)
的渲染方法。 在withReducer(Component)中(由Route创建) 在途中(由App创建) 在Switch中(由App创建) 在div中(由App创建) 在App中(由Connect(App)创建) 在Connect(App)中(由Route创建) 在路由中(由withRouter(Connect(App))创建) 在withRouter(Connect(App))中 在路由器中(由BrowserRouter创建) 在BrowserRouter中 在IntlProvider中(由LanguageProvider创建) 在LanguageProvider中(由Connect(LanguageProvider)创建) 在Connect(LanguageProvider)中 在提供商中
我的代码与我跟随的示例略有不同,因为我要添加withRouter:
const withConnect = withRouter(connect(mapStateToProps, mapDispatchToProps));
const addHelpReducer = injectReducer({ key: 'help', reducer: helpReducer });
export default compose(
addHelpReducer,
withConnect
)(Help);
injectReducer来自react-boilerplate utils文件,我尚未修改该文件或configureStore文件。
答案 0 :(得分:0)
我想出了办法:
export default compose(
withRouter,
withReducer,
withSaga,
withConnect
)(Help);
尽管我现在进入了另一个问题。关闭这个。