运行sagaMiddleware.run(...)会处于什么状态?

时间:2018-09-25 12:31:58

标签: redux-saga

这是我的商店:

import createSagaMiddleware from 'redux-saga';
...
export const sagaMiddleware = createSagaMiddleware();    
...
const enhancers: StoreEnhancer[] = [
    applyMiddleware(sagaMiddleware),
    applyMiddleware(routerMiddleware(history))
];
...
sagaMiddleware.run(rootSagas);

运行sagaMiddleware.run(rootSagas)不会返回任何值,但会影响应用程序。我想知道这种副作用存储在哪里。 sagaMiddleware是一个常量,因此无法存储在该对象中。

我猜想由于sagaMiddleware被应用为增强存储功能,因此与sagaMiddleware相关的状态被存储在那里。但是我对此不确定。

  • 来自sagaMiddleware.run(...)的副作用存储在商店对象中还是其他地方?
  • 如果我想详细了解sagaMiddleware的工作原理,应该去哪里找?

1 个答案:

答案 0 :(得分:0)

  

运行sagaMiddleware.run(…)会处于什么状态?

根本没有状态,他们应该没有。根据文档

  

Sagas被实现为 Generator函数,可将对象产生给   redux-saga中间件

您需要对它们如何工作有基本的了解。请阅读教程和有关它们的文档

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function *

https://redux-saga.js.org/docs/introduction/BeginnerTutorial.html#

  

存储在商店中的sagaMiddleware.run(...)有副作用吗   对象还是其他地方?

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function *

  

如果我想详细了解sagaMiddleware的工作原理,   我应该在哪里看?

在源代码中;)https://github.com/redux-saga/redux-saga