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

Zoh*_*mad 4 redux redux-saga redux-observable redux-toolkit

是的..所以我对 redux 工具包很陌生,我想在一个切片中捕获所有待处理的操作,以基本上显示加载模式。我知道我们可以做到这一点并且redux-saga可能redux-observable

太棒了而不是

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

Run Code Online (Sandbox Code Playgroud)

对于这样的事情

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

Run Code Online (Sandbox Code Playgroud)

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

mar*_*son 6

您可以使用RTK 中包含的匹配实用程序

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

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

  }
})
Run Code Online (Sandbox Code Playgroud)

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