关于 redux-toolkit redux-saga 的一些问题

some question about redux-toolkit redux-saga

我有一个使用 redux-toolkit 和 redux-saga 的项目,现在运行良好。 但现在我有一些问题,我是否需要使用 redux-saga。

  1. 我使用 redux-saga 的大多数功能之一是因为它有副作用。 如果我在 reducer 执行后在 redux 上发送一个动作 它可以执行另一个传奇功能。
  yield all([
    takeEvery<any>(boardAcctions.addWidget.type, updateWidgetUI),
    takeEvery<any>(boardAcctions.moveWidget.type, updateWidgetUI),
    takeEvery<any>(boardAcctions.updateWidgetConfig.type, updateWidgetUI),
    takeEvery<any>(boardAcctions.removeWidget.type, updateWidgetUI),
  ])

  1. 在 saga 功能上,您可以分派另一个操作,因此如果您有多个操作需要更新,使用 saga 会非常容易。
    yield put(loginActions.updateUser(userdata))
    yield put(dashboardAction.updateBoard(dashboarData))

但是在具有函数 createAsyncThunk() 的 redux-toolkit 上。 我无法发送另一个动作。即使在 extra reduces 上它也只是一个 reducer,我认为在里面调度另一个动作是不非法的

没有 redux-saga 我该怎么做?

感谢

当然,您可以从 createAsyncThunk.

中调度其他操作
import { createAsyncThunk } from '@reduxjs/toolkit'

const fetchUserById = createAsyncThunk(
  'users/fetchByIdStatus',
  async (userId, { dispatch }) => {

    dispatch(someOtherAction())

  }
)