Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Gestione Dei Dati Asincroni Nell'App | Creazione di un'Applicazione Reale con Redux Toolkit
Gestione dello Stato con Redux Toolkit in React

bookGestione Dei Dati Asincroni Nell'App

Scorri per mostrare il menu

Ora aggiungi dati provenienti dall'esterno dell'applicazione. Invece di iniziare con una lista vuota, caricherai le attività da un'API.

Creazione dell'azione asincrona

Aggiorna il tuo slice e aggiungi createAsyncThunk:

import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';

export const fetchTasks = createAsyncThunk('tasks/fetchTasks', async () => {
  const response = await fetch('https://jsonplaceholder.typicode.com/todos?_limit=5');

  if (!response.ok) {
    throw new Error('Failed to fetch tasks');
  }

  return response.json();
});

Gestione degli stati asincroni

Aggiorna il tuo slice per tracciare il caricamento e gli errori:

const initialState = {
  items: [],
  status: 'idle',
  error: null
};

Aggiunta di extraReducers:

extraReducers: (builder) => {
  builder
    .addCase(fetchTasks.pending, (state) => {
      state.status = 'loading';
    })
    .addCase(fetchTasks.fulfilled, (state, action) => {
      state.status = 'succeeded';
      state.items = action.payload;
    })
    .addCase(fetchTasks.rejected, (state, action) => {
      state.status = 'failed';
      state.error = action.error.message;
    });
}

Attivazione del recupero dati

Dispatch dell'azione al caricamento del componente:

import { useEffect } from 'react';
import { useDispatch } from 'react-redux';
import { fetchTasks } from '../features/tasks/tasksSlice';

function TaskList() {
  const dispatch = useDispatch();

  useEffect(() => {
    dispatch(fetchTasks());
  }, [dispatch]);
}

Logica asincrona aggiunta all'applicazione. I task ora vengono caricati da un'API e lo stato tiene traccia dei caricamenti, dei successi e degli errori.

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 7. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 7. Capitolo 4
some-alt