在 redux-toolkit 切片中捕获所有待处理或拒绝的操作

Catch all Pending or Rejected actions within a redux-toolkit slice

Aight.. 所以我对 redux 工具包很陌生,我想在一个切片中捕获所有未决操作以基本上显示加载模式。我知道我们可以用 redux-saga 来做到这一点,可能 redux-observable

Soooooo 而不是

 builder.addCase(fetchUsers.pending, (state) => {
      state.loading = LoadingState.PENDING;
 });

像这样的东西

 builder.addCase(allActions.pending, (state) => {
      state.loading = LoadingState.PENDING;
 });

我知道 allActions 在那里不起作用,但有什么可以。

您可以使用 the matching utilities included in RTK:

import { createSlice, isPending} from "@reduxjs/toolkit";

const dataSlice = createSlice({
  name: "data",
  reducers: { /* */ },
  extraReducers: builder => {
    builder.addMatcher(isPending, (state, action) => {
      // logic here
    })

  }
})

您还可以以各种方式组合匹配的实用程序,以仅处理特定 thunk 等的挂起状态。