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

this.state funciona, mas não consigo acessa-lo...

Bom Dia / tarde / noite :)

O projeto está funcionando perfeitamente, contudo, preciso utilizar o "this.props.notas.notas.map..." para percorrer o array e preencher a tela.. será que estou "comendo bola?""

construtor:

  constructor(props){
    super(props);
    this.state = {notas:[]}
    this.reftoMounUnmount = this.novasNotas.bind(this)
  }

e.... na hora de incluir:

  novasNotas(notas){
    this.setState({...this.state.notas, notas})
  }

ao tentara percorrer o map, erro :(

{this.state.notas.map((nota, index) => {
          return (
            <li className="lista-notas_item" key={index}>
              <CardNota 
                categoria={nota.categoria}
                titulo={nota.titulo}
                nota={nota.texto}
                deletarNota={this.props.deletarNota}
                indice={index}/>
            </li>
          );
        })}

ps..

se dou um console.log nele, o array realmente está undefined: {notas: undefined}

Alguém consegue identificar o erro? E se possível dizer se teria problema usar o (props..... o que vier)??

2 respostas
solução!

Oi Abner!

Primeiro, mude o seu constructor para

 constructor(){
    super();
    this.state = {notas:[]}
    this.novasNotas = this.novasNotas.bind(this);
  }

E na função novasNotas, temos que dar spread no this.state e não somente no this.state.notas, desta forma:

   novasNotas(notas){
    this.setState({...this.state, notas})
  }

Tente realizar essas mudanças e caso algo dê errado, comente aqui!

Espero ter ajudado! :)

Olá Eduardo, era isso mesmo!! Valeu!!!

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