Neste artigo você aprenderá a maneira correta de mudar estado de array em React JS, utilizando o hook useState

Fala programador(a), beleza? Bora aprender mais sobre React JS!
Gerenciar o estado em React JS é uma tarefa crucial que todo desenvolvedor enfrenta.
Quando o estado envolve arrays, existem práticas recomendadas para garantir que as atualizações sejam feitas de maneira imutável e otimizada.
Neste artigo, abordaremos a maneira correta de mudar o estado de arrays no React.
A importância da Imutabilidade
Em React, é essencial que as atualizações de estado sejam feitas de forma imutável. Isso significa que, ao invés de modificar diretamente o estado existente, criamos uma cópia e fazemos as alterações nesta nova versão.
Isso ajuda o React a realizar otimizações, garantindo que as renderizações sejam eficientes.
Atualizando um Array
Ao lidar com arrays em React, seguir práticas imutáveis é fundamental. Vamos ver alguns cenários comuns e como tratá-los corretamente:
Adicionando um item ao array
Quando desejamos adicionar um item a um array, podemos usar o spread operator para isso:
import React, { useState } from 'react';
function Lista() {
const [itens, setItens] = useState([]);
const adicionarItem = (item) => {
setItens(itensAnteriores => [...itensAnteriores, item]);
};
return (
// Renderização do componente...
);
}
Removendo um item do array
Para remover um item, podemos utilizar o método filter:
const removerItem = (id) => {
setItens(itensAnteriores => itensAnteriores.filter(item => item.id !== id));
};
Atualizando um item no array
Ao atualizar um item específico, podemos combinar map com uma condição:
const atualizarItem = (id, novoItem) => {
setItens(itensAnteriores =>
itensAnteriores.map(item =>
item.id === id ? novoItem : item
)
);
};
Por que não usar métodos diretos do Array?
Métodos como push, pop, splice ou shift modificam o array original, o que é contraproducente à imutabilidade que o React recomenda.
Por isso, ao atualizar arrays, sempre optamos por métodos que retornem um novo array.
Uso combinado de useEffect
Em certas situações, pode ser necessário executar efeitos colaterais após a atualização do array. O Hook useEffect é útil nesses casos:
useEffect(() => {
console.log("O array de itens foi atualizado!", itens);
}, [itens]);
Quer aprender mais sobre programação? Conheça nosso canal no YouTube:
Conclusão
Chegamos ao fim do artigo sobre como mudar estado de array em React JS!
No React, a imutabilidade é fundamental para manter o desempenho e evitar bugs. Ao atualizar arrays, essa prática é ainda mais crucial.
Utilizando as técnicas acima, garantimos que nossos componentes se comportem como esperado e otimizamos a performance do React.
Lembre-se: sempre evite modificar o estado diretamente. Em vez disso, crie uma nova cópia, faça suas alterações e, em seguida, defina essa cópia como o novo estado.
Esta abordagem, embora possa parecer um pouco mais trabalhosa inicialmente, garante um código mais robusto e otimizado.
Está buscando em evoluir como Programador? Confira o nossos cursos de programação.