Hä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?
Tack för dina kommentarer!
Avsnitt 5. Kapitel 2
Fråga AI
Fråga AI
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