Description
Sometimes thunks doesn't require any args.
When creating a thunk without args using create.asyncThunk
, the action still expects one argument.
Example
import { buildCreateSlice, asyncThunkCreator } from "@reduxjs/toolkit";
const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
const createSliceWithThunks = buildCreateSlice({
creators: { asyncThunk: asyncThunkCreator },
});
export const counterSlice = createSliceWithThunks({
name: "counter",
initialState: { value: 0 },
reducers: (create) => ({
increment: create.asyncThunk(() => sleep(1000)),
decrement: create.asyncThunk((_: undefined) => sleep(1000)),
}),
});
export const { increment, decrement } = counterSlice.actions;
increment(); // ERROR: Expected 1 arguments, but got 0.
increment(undefined); // ok
decrement(); // ok
export default counterSlice.reducer;
Codesandbox: https://codesandbox.io/p/sandbox/quirky-sunset-8qsxf4?file=%2Fsrc%2FcounterSlice.ts%3A20%2C1
"@reduxjs/toolkit": "2.0.1",
"react-redux": "9.0.4"
Metadata
Metadata
Assignees
Labels
No labels