Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Manipulação de Dados Assíncronos no Aplicativo | Construindo uma Aplicação Real com Redux Toolkit
Gerenciamento de Estado com Redux Toolkit em React

bookManipulação de Dados Assíncronos no Aplicativo

Deslize para mostrar o menu

Agora você adiciona dados que vêm de fora do aplicativo. Em vez de começar com uma lista vazia, você irá carregar tarefas de uma API.

Criando a Ação Assíncrona

Atualize seu slice e adicione createAsyncThunk:

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

export const fetchTasks = createAsyncThunk('tasks/fetchTasks', async () => {
  const response = await fetch('https://jsonplaceholder.typicode.com/todos?_limit=5');

  if (!response.ok) {
    throw new Error('Failed to fetch tasks');
  }

  return response.json();
});

Lidando com Estados Assíncronos

Atualize seu slice para rastrear carregamento e erros:

const initialState = {
  items: [],
  status: 'idle',
  error: null
};

Adicione extraReducers:

extraReducers: (builder) => {
  builder
    .addCase(fetchTasks.pending, (state) => {
      state.status = 'loading';
    })
    .addCase(fetchTasks.fulfilled, (state, action) => {
      state.status = 'succeeded';
      state.items = action.payload;
    })
    .addCase(fetchTasks.rejected, (state, action) => {
      state.status = 'failed';
      state.error = action.error.message;
    });
}

Disparo da Busca

Despacho da ação quando o componente é carregado:

import { useEffect } from 'react';
import { useDispatch } from 'react-redux';
import { fetchTasks } from '../features/tasks/tasksSlice';

function TaskList() {
  const dispatch = useDispatch();

  useEffect(() => {
    dispatch(fetchTasks());
  }, [dispatch]);
}

Lógica assíncrona adicionada ao aplicativo. As tarefas agora são carregadas de uma API, e o estado acompanha os estados de carregamento, sucesso e erro.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 7. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 7. Capítulo 4
some-alt