Redux Toolkit Saga
npm install redux-toolkit-sagash
yarn add redux-toolkit-saga
or
npm install redux-toolkit-saga --save
`createSliceSaga
| name | required | description |
| -------------- | -------- | --------------------------------------------------------------------------- |
| name | YES | A string name for this slice of state. Generated action type constants will use this as a prefix |
| caseSagas | YES | An object containing "case sagas" functions (functions intended to handle a specific action type|
| sagaType | NO |
SagaType.Normal, SagaType.Watch, SagaType.TakeLatest, SagaType.TakeEvery(default)|Example
`ts
import { createSliceSaga, SagaType } from "redux-toolkit-saga";
import { PayloadAction } from "@reduxjs/toolkit";const slice = createSliceSaga({
name: "testSlice",
caseSagas: {
*action1 (action: PayloadAction) {
yield console.log("ok1", action.payload);
},
*action2 (action: PayloadAction) {
yield console.log("ok2", action.payload);
},
action3: {
sagaType: SagaType.TakeLatest,
*fn(action: PayloadAction) {
yield console.log("ok3", action.payload);
},
}
},
sagaType: SagaType.Watch,
});
const composeSaga = slice.saga; // call composeSaga in root saga
const { action1, action2 } = slice.actions; // action with caseSagas
``