Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Asynchrone Datenverarbeitung in der Anwendung | Erstellung Einer Realen Anwendung Mit Redux Toolkit
Zustandsverwaltung mit Redux Toolkit in React

bookAsynchrone Datenverarbeitung in der Anwendung

Swipe um das Menü anzuzeigen

Nun fügen Sie Daten hinzu, die von außerhalb der App stammen. Anstatt mit einer leeren Liste zu beginnen, laden Sie Aufgaben von einer API.

Erstellen der asynchronen Aktion

Aktualisieren Sie Ihren Slice und fügen Sie createAsyncThunk hinzu:

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();
});

Umgang mit asynchronen Zuständen

Aktualisieren Sie Ihren Slice, um Ladevorgänge und Fehler zu verfolgen:

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

Füge extraReducers hinzu:

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;
    });
}

Auslösen des Fetch-Vorgangs

Dispatch der Aktion beim Laden der Komponente:

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

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

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

Asynchrone Logik zur Anwendung hinzugefügt. Aufgaben werden nun von einer API geladen und der Status verfolgt Lade-, Erfolgs- und Fehlerzustände.

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 7. Kapitel 4

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 7. Kapitel 4
some-alt