Отримання Даних за Допомогою createAsyncThunk
Свайпніть щоб показати меню
Що ви створюєте
Отримання даних з API за допомогою Redux Toolkit.
Створення асинхронної дії
Redux Toolkit надає createAsyncThunk для обробки асинхронної логіки.
import { createAsyncThunk } from '@reduxjs/toolkit';
export const fetchPosts = createAsyncThunk(
'posts/fetchPosts',
async () => {
const response = await fetch('https://jsonplaceholder.typicode.com/posts');
return response.json();
}
);
Підключення до зрізу (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 дозволяє структуровано обробляти асинхронну логіку. Автоматично відстежує стани завантаження, успіху та помилки.
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 5. Розділ 2
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Секція 5. Розділ 2