问题描述
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 等的挂起状态。