у меня есть вопрос, связанный с RTK, так как я хочу иметь возможность отменить любой сделанный запрос, я повторяю код в большинстве моих создателей действий, созданных с помощью createAsyncThunk
Я хотел бы создать своего рода обертку, но у меня возникли проблемы с ее набором текста. Аргументы, используемые в createAsyncThunk, выставлены где-то или?
Копаясь в коде, я вижу, что thunkAPI (который меня больше всего интересует) определяется с помощью GetThunkAPI<'3-й параметр'> с 3 машинописными параметрами
создатель действий может выглядеть примерно так
export const resendValidationKey = createAsyncThunk<
void,
IAdminResendValidationKey,
{ rejectValue: AxiosError }
>('admin/resendValidationKey', async (data, thunkAPI) => {
const { signal, rejectWithValue } = thunkAPI;
try {
const source = axios.CancelToken.source();
signal.addEventListener('abort', () => {
source.cancel();
});
await const response = axios.post(`admin/account/validate/resend`, data, {
cancelToken: source.token,
});
return response.data;
} catch (error) {
return rejectWithValue(error);
}
});
в идеале мне нужна какая-то оболочка, я просто передаю URL, метод, данные и обратный вызов успеха (если есть), это вообще возможно?
Надеюсь, все это имеет смысл?