Neste artigo você aprenderá a como deletar item de array em state no React, ou seja, utilizando o useState em um array

Fala programador(a), beleza? Bora aprender mais sobre React JS!
Manipular estados em React é uma tarefa comum, e muitas vezes, nos deparamos com a necessidade de atualizar arrays que estão armazenados no estado de um componente.
Neste artigo, abordaremos uma das operações mais frequentes: a remoção de um item de um array.
Introdução ao gerenciamento de estados no React
O React proporciona uma maneira eficaz de gerenciar o estado local de um componente por meio do hook useState.
Quando utilizamos arrays como estado, precisamos ter um cuidado especial para não modificar diretamente o estado original, mas sim criar uma cópia dele e então realizar a atualização.
A armadilha da mutabilidade
Em JavaScript, arrays são estruturas de dados mutáveis. Isso significa que, se você tentar deletar um item diretamente do array do estado, você estará modificando o estado diretamente, o que é uma má prática no React.
Em vez disso, sempre trabalhe com uma cópia do estado, e depois atualize o estado com o novo array.
Exemplo prático: Deletando um item de um array
Vamos criar um componente simples que tem um estado com uma lista de tarefas e a capacidade de remover uma tarefa específica.
import React, { useState } from 'react';
const ListaDeTarefas = () => {
const [tarefas, setTarefas] = useState(['Tarefa 1', 'Tarefa 2', 'Tarefa 3']);
const removerTarefa = (index) => {
const novasTarefas = [...tarefas];
novasTarefas.splice(index, 1);
setTarefas(novasTarefas);
}
return (
<div>
<ul>
{tarefas.map((tarefa, index) => (
<li key={index}>
{tarefa}
<button onClick={() => removerTarefa(index)}>Remover</button>
</li>
))}
</ul>
</div>
);
}
export default ListaDeTarefas;
Explicando o processo
No exemplo acima, temos uma lista inicial de tarefas. A função removerTarefa é responsável por deletar uma tarefa baseada no índice.
Note que, ao invés de modificar diretamente o array tarefas, criamos uma cópia com [...tarefas].
Em seguida, usamos a função splice para remover o item e, finalmente, atualizamos o estado com o novo array.
Por que não usar o filter?
Uma alternativa ao splice é o método filter. Ele pode ser mais intuitivo quando se deseja remover itens de um array baseado em uma condição:
const removerTarefa = (index) => {
const novasTarefas = tarefas.filter((_, i) => i !== index);
setTarefas(novasTarefas);
}
Ambas as abordagens são válidas e a escolha entre elas geralmente se baseia na preferência pessoal ou na especificidade do cenário.
Quer aprender mais sobre programação? Conheça nosso canal no YouTube:
Conclusão
Chegamos ao fim do artigo sobre deletar item de array em state no React!
Manipular arrays no estado do React requer atenção para garantir que não estejamos alterando o estado diretamente.
Seja usando splice ou filter, o importante é trabalhar com uma cópia do estado original e, depois, atualizá-lo. Isso garante que o React possa otimizar as re-renderizações e manter o aplicativo eficiente.
Trabalhar com estados no React pode parecer desafiador no início, especialmente quando estamos lidando com estruturas de dados mais complexas como arrays.
No entanto, com a prática e o entendimento das melhores abordagens para manipular esses dados, o processo se torna intuitivo e eficiente.
Está buscando evoluir como Programador? Confira o nossos cursos de programação.