1
resposta

[Dúvida] Dúvida sobre createAsyncThunk e createSlice

Bom dia, tudo bem professor?

Na aula 03 -> 03 (createAsyncThunk) eu não entendi como que a const buscarCategorias que recebe o createAsyncThunk executa o extraReducers dentro do categoriasSlice.

Pelo que estou lendo do código, a const categoriasSlice não faz ligação com o buscarCategorias em momento nenhum. Só percebo que dentro do extraReduces tem um addCase que recebe o buscarCategorias.fulfilled, mas não sei se isso é suficiente pra o extraReducers executar. Consegue me explicar por favor?

1 resposta

Olá Kevin, tudo bem?

Entendo sua dúvida. Na verdade, a constante buscarCategorias é uma função assíncrona que retorna uma Promise. Quando essa Promise é resolvida, o createAsyncThunk dispara uma ação com o tipo buscarCategorias.fulfilled.

Dessa forma, o extraReducers do categoriasSlice consegue "ouvir" essa ação e executar o caso correspondente, que no caso é o state.categorias = action.payload.

Resumindo, o extraReducers é capaz de "ouvir" todas as ações disparadas pelo createAsyncThunk, incluindo a ação buscarCategorias.fulfilled, que é disparada quando a Promise retornada pela função buscarCategorias é resolvida.

Espero ter ajudado a esclarecer sua dúvida.

Um abraço e bons estudos.