Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Récupération de données avec createAsyncThunk | Gestion de la Logique Asynchrone avec Redux Toolkit
Gestion d'État avec Redux Toolkit dans React

bookRé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 ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 5. Chapitre 2
some-alt