Esse desafio fixa conceitos de manipulação do estado e imutabilidade no React.
Hook responsável por manter o estado da aplicação, se o estado do compontente é atualizado o componente é renderizado novamente (na documentação do React descrito como "re-render") e todo o código (com exceção dos hooks) do componente é reexecutado.
O conceito de imutabilidade é muito usado em programação funcional e gerenciamento de estado do React, a função Array.map
permite que seja criado um novo array e possa ser feito a alteração de algum elemento neste novo array, já a função Array.filter
, retorna um novo array com um ou mais elementos removidos que foram filtrados.