1
resposta

TypeError: undefined is not an object (evaluating 'this.state.notas.map')

Bom dia! não faço ideia de como resolver o problema com o State

import React, { Component } from "react";
import CardNota from "../CardNota";
import "./estilo.css";
class ListaDeNotas extends Component {

  constructor(){
    super();
    this.state = {notas:[]}
    this._novasNotas = this._novasNotas.bind(this);
  }
  componentDidMount(){
    this.props.notas.inscrever(this._novasNotas);
  }
  _novasNotas(notas){
    this.setState({...this.state,notas})
  }

  render() {

    return (
      <ul className="lista-notas">
        {this.state.notas.map((nota, index) => {
          return (
            <li className="lista-notas_item" key={index}>

              <CardNota 
              indice={index}
              apagarNota={this.props.apagarNota}
              titulo={nota.titulo} 
              texto={nota.texto}
              categoria={nota.categoria}
              />
            </li>
          );
        })}
      </ul>
    )
  }
}

export default ListaDeNotas;
1 resposta

Boa tarde Leonardo!

Uma solução seria utilizar o operador de optional channing

então na linha

 {this.state.notas.map((nota, index) => {

ficaria

 {this.state?.notas?.map((nota, index) => {

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining

Abs!

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