将操作连接到extraReducers时发生此错误我的代码是
export const fetchCountries = createAsyncThunk(
`country`,
async (organizationId: string) => {
export const saveCountry = createAsyncThunk(
`country`,
async ({ } => {})
const regions = createSlice({
name,
initialState,
reducers: {},
extraReducers: builder => {
builder.addCase(fetchCountries.pending, isFetching);
builder.addCase(fetchCountries.rejected, error);
builder.addCase(fetchCountries.fulfilled, (state, action) => {});
builder.addCase(saveCountry.pending, isFetching);
builder.addCase(saveCountry.rejected, error);
builder.addCase(saveCountry.fulfilled, (state, {payload}) => {});
如果我运行,我会得到这个错误:第一个月
5条答案
按热度按时间f2uvfpb91#
发生这种情况是因为在我的操作中几乎没有 AsyncThunks 操作具有相同的***typePrefix***。
所以它肯定有不同的名字:
bfrts1fy2#
在我的例子中,显示了相同的错误消息,但这是一个不同的错误:
我花了几分钟才发现问题,可能会帮到某人。
kx5bkwkv3#
在CreateAsycThunk上,您提到了两个同名的字符串,它应该如下所示
6pp0gazn4#
createasyncthunk有两个主要参数,一个是字符串类型,另一个回调函数以API和thunk作为参数。如果切片中只有一个asyncthunk,它以“”作为数据,您可能会得到原谅,但如果您有两个或更多asyncthunk,则将对每个thunk进行检查。如果它们中两个或多个具有相似“”或“相同”的名称,则会出现令人不安的错误。“createAsyncThunk:错误:不能使用同一操作类型的两个reducer调用addCase”
6ljaweal5#
这样做