1
resposta

Dúvida sobre manipulação do array de state

Em: const novoArrayNotas = [...this.state.notas, novaNota] Por que não funciona escrever: this.state.notas.append (novaNota)? Não consigo entender a diferença.

1 resposta

Na verdade se vc usar um this.state.notas.push(novaNota) até funciona, mas o componente não é renderizado novamente, então vc não vê o resultado na tela (mas se vc der um console.log(this.state.notas) vc vai ver que a nova nota foi adicionada no array).

Pelo que vi na documentação oficial do React, quando vc dá um setState(), o React sabe que o state mudou, e chama o método render() de novo, fazendo com que a alteração apareça na tela.

Ah, e sobre o append(): Acho que ele só funciona quando se está mexendo com elementos diretamente na DOM

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software