Boa tarde,
Porque foi preciso criar um novo array com o novo colaborador? Se o array colaborador já pode conter todos os outros colaboradores adicionados recentemente?
Obrigado.
Boa tarde,
Porque foi preciso criar um novo array com o novo colaborador? Se o array colaborador já pode conter todos os outros colaboradores adicionados recentemente?
Obrigado.
Salve! Beleza?
Vamos lá! O rolê com o useState no React é que ele não rastreia mudanças nas estruturas de dados mutáveis, como arrays e objetos, da mesma forma que faz com tipos primitivos. Por isso, quando você quer atualizar o estado que é um array, você tem que criar uma cópia desse array pra garantir que o React perceba a mudança.
Quando tu faz setColaboradores([...colaboradores, colaborador]), você tá criando um novo array que contém todos os colaboradores anteriores (...colaboradores) e adiciona o novo colaborador no final.
Se você tentasse apenas adicionar o novo colaborador ao array colaboradores diretamente e depois chamar setColaboradores, o React não iria pegar essa mudança direito e o componente não seria re-renderizado corretamente.
Então, a ideia de espalhar o array antigo e adicionar o novo item é pra garantir que você tá passando pro useState um novo array, fazendo com que o React entenda a mudança e atualize o componente de acordo.
Espero ter ajudado a esclarecer essa questão! Se tiver mais alguma dúvida, é só falar. Tamo junto!