Henting av data med createAsyncThunk
Sveip for å vise menyen
Hva du bygger
Du skal hente data fra et API ved hjelp av Redux Toolkit.
Opprette en asynkron handling
Redux Toolkit tilbyr createAsyncThunk for å håndtere asynkron logikk.
import { createAsyncThunk } from '@reduxjs/toolkit';
export const fetchPosts = createAsyncThunk(
'posts/fetchPosts',
async () => {
const response = await fetch('https://jsonplaceholder.typicode.com/posts');
return response.json();
}
);
Koble til slice
Håndter den asynkrone handlingen 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 lar deg håndtere asynkron logikk på en strukturert måte. Den sporer automatisk lasting, suksess og feiltilstander.
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 5. Kapittel 2
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Seksjon 5. Kapittel 2