連結 Saga 到外部的輸入和輸出

我們已經看過 take Effect 透過等待的 action 被 dispatch 到 Store 然後 resolve。透過 dispatch action 作為參數提供給 put Effect 被 resolve。

當一個 Saga 被啟動時(不管是初始啟動或延遲動態啟動),middleware 自動連結 take/put 到 store。這兩個 Effect 可以看作 Saga 的輸入和輸出(Input/Output)排序。

提供一種方式在 Redux middleware 外部環境下執行一個 Saga,並連結到自訂的輸入和輸出。

import { runSaga } from 'redux-saga'

function* saga() { ... }

const myIO = {
  subscribe: ..., // 這個將被用來 resolve take Effects
  dispatch: ...,  // 這個將被用來 resolve put Effects
  getState: ...,  // 這個將被用來 resolve select Effects
}

runSaga(
  myIO
  saga,
)

如果要了解更多資訊,請參考 API 文件

results matching ""

    No results matching ""