首页 文章

使用React路由器v4在反应样板中加载异步减少器和传输

提问于
浏览
0

我正在考虑将项目迁移到最新的react-boilerplate版本,并且许多模块已经更改 . 我在使用React路由器v4与我的Redurs和sagas一起玩时遇到了麻烦 . 我看了Dynamically load redux reducers with react router 4并且我现在收到以下错误:警告:React.createElement:type无效 - 期望一个字符串(对于内置组件)或类/函数(对于复合组件)但得到:object .

检查withReducer(Component)的render方法 . 在路由(由路由创建)中的路由(由App创建)在交换机(由App创建)中由div(由App创建)在App(由Connect(App)创建)中连接(App)(由路由创建) )在路由(由withRouter(Connect(App))创建的路由器(由BrowserRouter创建)中的路由器(由ConnectRouter创建)在IntlProvider中的BrowserRouter中(由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文件 .

1 回答

  • 0

    我想出了如何做到这一点:

    export default compose(
        withRouter,
        withReducer,
        withSaga,
        withConnect
      )(Help);
    

    虽然我现在陷入了另一个问题 . 关闭这一个 .

相关问题