首页 文章

访问传统中的store.dispatch以与react router redux一起使用

提问于
浏览
3

我正在重构一个react redux saga react-router 3应用程序,以便使用新的react-router 4由于破坏性的变化 . 在我使用browserHistory根据saga的结果指向适当的路径之前 . 由于react-router 4的变化,我不能再使用browserHistory了 .

现在我已经将react-router-redux整合到了什么是browserHistory做的 . 问题是react-router-redux只能在store.dispatch中工作,例如: store.dispatch(推( '/')) . 我似乎无法找到一种方法来访问我的传奇中的商店或它的调度功能 . 关于如何在传奇中访问store.dispatch的任何想法?我知道你可以在根传奇中传递参数,但我不知道如何在我的实际传奇中检索它们 .

1 回答

  • 4

    使用redux-saga的 put 效果,它将redux动作发送到商店 - docs .

    import { call, put } from 'redux-saga/effects'
    // ...
    
    function* fetchProducts() {
      const products = yield call(Api.fetch, '/products')
      // create and yield a dispatch Effect
      yield put({ type: 'PRODUCTS_RECEIVED', products })
    }
    

相关问题