Récupération de données avec createAsyncThunk
Glissez pour afficher le menu
Ce que vous allez construire
Récupération de données depuis une API à l'aide de Redux Toolkit.
Création d'une action asynchrone
Redux Toolkit fournit createAsyncThunk pour gérer la logique asynchrone.
import { createAsyncThunk } from '@reduxjs/toolkit';
export const fetchPosts = createAsyncThunk(
'posts/fetchPosts',
async () => {
const response = await fetch('https://jsonplaceholder.typicode.com/posts');
return response.json();
}
);
Connexion au slice
Gestion de l'action asynchrone dans le slice :
import { createSlice } from '@reduxjs/toolkit';
import { fetchPosts } from './postsThunk';
const postsSlice = createSlice({
name: 'posts',
initialState: {
items: [],
status: 'idle',
error: null
},
reducers: {},
extraReducers: (builder) => {
builder
.addCase(fetchPosts.pending, (state) => {
state.status = 'loading';
})
.addCase(fetchPosts.fulfilled, (state, action) => {
state.status = 'succeeded';
state.items = action.payload;
})
.addCase(fetchPosts.rejected, (state, action) => {
state.status = 'failed';
state.error = action.error.message;
});
}
});
export default postsSlice.reducer;
createAsyncThunk permet de gérer la logique asynchrone de manière structurée. Il suit automatiquement les états de chargement, de succès et d'erreur.
Tout était clair ?
Merci pour vos commentaires !
Section 5. Chapitre 2
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Section 5. Chapitre 2