如何从redux-saga中的商店中获取数据?

时间:2017-11-27 13:09:30

标签: redux redux-saga

我已将有效负载存储在redux存储中。我无法访问商店对象。如何访问store对象?我想通过redux-saga访问它。我甚至尝试通过普通的redux来访问商店,但是可以' nt!

1 个答案:

答案 0 :(得分:0)

  

我想通过redux-saga访问它。我甚至尝试通过普通的redux来访问商店但是不能!

一般情况下,redux-saga结合了两件事 - redux中间件和独立的流程管理器。如果您只需要在没有进程管理的情况下使用redux内部状态进行获取和直接操作,可能最好编写自己的简单中间件(https://redux.js.org/docs/advanced/Middleware.html),并且可能使用saga进行组合。

当然,您可以轻松使用select效果(https://redux-saga.js.org/docs/api/#selectselector-args)。但考虑到,中间件首先将动作转发给减速器,然后通知Sagas。这意味着当您查询商店的状态时,您将在应用操作后获得状态 最有可能的是,最好存储强制信息信息当前saga的闭包,例如,在专用传奇过程中while-true循环之前。

function* someSaga() {
    const localState = {};
    while(true) {
        const action = yield take('ACTION_PATTERN');
        // some logic to dispatch the action
        yield put('SOME_AFTER_ACTION')
    }
}