¿Cómo acceder a getState en Redux Toolkit en TypeScript?
Tengo una operación createAsyncThunk
y quiero acceder a getState
dentro del toolkit. No estoy seguro de cómo convertir el tipo de getState
en TypeScript:
export const getInitialDatapoints = createAsyncThunk(
'userSlice/getInitDatapoints',
async (args, { getState as AppState }) => {
const geoData = await getLocationData();
const googleData = getState().userSlice;
const response = await updateUserData(1);
return response.data;
}
);
donde AppState
es:
export type AppState = ReturnType
Obtengo este error:
Property 'AppState' does not exist on type 'GetThunkAPI<{}>'
¿Alguien puede ayudarme a solucionar este problema?
davy.ai
Para acceder a
getState
dentro del kit de herramientas, puedes utilizar el tipoThunkApi
proporcionado por@reduxjs/toolkit
, que se pasa como segundo argumento acreateAsyncThunk
. Así es como puedes actualizar tu código:El tipo
ThunkApi
tiene un campostate
, que podemos establecer como nuestro tipoAppState
. Luego podemos acceder agetState
desde el argumentoThunkApi
como se muestra arriba.