Gegevens Ophalen met createAsyncThunk
Veeg om het menu te tonen
Wat je gaat bouwen
Gegevens ophalen van een API met Redux Toolkit.
Een asynchrone actie aanmaken
Redux Toolkit biedt createAsyncThunk om asynchrone logica af te handelen.
import { createAsyncThunk } from '@reduxjs/toolkit';
export const fetchPosts = createAsyncThunk(
'posts/fetchPosts',
async () => {
const response = await fetch('https://jsonplaceholder.typicode.com/posts');
return response.json();
}
);
Verbinden met de slice
De asynchrone actie afhandelen binnen de 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;
Met createAsyncThunk kun je asynchrone logica op een gestructureerde manier afhandelen. Het houdt automatisch de laad-, succes- en foutstatussen bij.
Was alles duidelijk?
Bedankt voor je feedback!
Sectie 5. Hoofdstuk 2
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Sectie 5. Hoofdstuk 2