Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Hämta Data med createAsyncThunk | Hantering av Asynkron Logik med Redux Toolkit
Tillståndshantering med Redux Toolkit i React

bookHämta Data med createAsyncThunk

Svep för att visa menyn

Vad du bygger

Hämta data från ett API med Redux Toolkit.

Skapa en asynkron åtgärd

Redux Toolkit tillhandahåller createAsyncThunk för att hantera asynkron logik.

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

export const fetchPosts = createAsyncThunk(
  'posts/fetchPosts',
  async () => {
    const response = await fetch('https://jsonplaceholder.typicode.com/posts');
    return response.json();
  }
);

Ansluta till slicen

Hantera den asynkrona åtgärden i din 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 gör det möjligt att hantera asynkron logik på ett strukturerat sätt. Den spårar automatiskt laddning, lyckade och felaktiga tillstånd.

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 2

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 5. Kapitel 2
some-alt