Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvidas nas atribuições de variáveis - Projeto Final

Boa tarde!

Eu baixei os arquivos do projeto final, para comparar com o que tinha feito, e surgiu uma dúvida no arquivo: App.js, cujo trecho de código segue abaixo:

constructor(){
    super();

    this.state = {
      notas:[]
    }
  }

  criarNota(titulo, texto){
  const novaNota = {titulo, texto};
  const novoArrayNotas = [...this.state.notas,novaNota]
  const novoEstado = {
  notas:novoArrayNotas
    }

    this.setState(novoEstado)
  }

Algumas dúvidas que tenho:

  • Por que temos que criar uma variável novoArrayNotas, se temos a varia´vel novaNota que depende do título e do texto?

  • Por que dentro do Array da variável novoArrayNotas, escrevemos: ...this.state.notas ?

  • Qual é o significado de escrevermos na variável novoEstado, notas: novoArrayNotas ?

3 respostas

Fala ai Gabriel, tudo bem? Vamos lá:

Por que temos que criar uma variável novoArrayNotas, se temos a varia´vel novaNota que depende do título e do texto?

A variavel novoArrayNotas está concatenando todas as notas antigas com a novaNota, é criado um novo array por ser uma boa prática não alterar estados anteriores e sempre criar novos.

Por que dentro do Array da variável novoArrayNotas, escrevemos: ...this.state.notas ?

Isso é o que a gente chama de Spread operator, basicamente o que ele está fazendo é criando um novo array e concatenando todas as notas antigas nesse novo array, mais informações e exemplos: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/Spread_operator

Qual é o significado de escrevermos na variável novoEstado, notas: novoArrayNotas ?

A gente está criando um novo objeto que possuí uma propriedade notas cujo valor vai ser o novo array recém criado através da variavel novoArrayNotas.

Espero ter ajudado.

solução!

Bom dia. Obrigado pela explicação, ficou mais claro para mim.

Magina Gabriel, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.

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