Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

TypeError: Cannot read property 'push' of undefined

Estava seguindo o curso como orientado pelo instrutor e ao testar me deparo com o seguinte erro com origem no Categoria.js

"TypeError: Cannot read property 'push' of undefined"

o código do Categoria.js está da seguinte forma

export default class Categorias{

    constructor(){
        this.categorias = ["Trabalho"];
    }

    adicionarCategoria(novaCat){
        console.log(this.categorias);
        this.categorias.push(novaCat)
    }
}

e no App.Js está sendo importado assim:

import Categorias from "./Data/Categorias.js";

e instanciado da seguinte maneira:

class App extends Component {


  constructor() {
    super();
    this.categoria = new Categorias();
    this.notas = new ArrayDeNotas();
  }

...

e para a "ListaDeCategorias" está sendo passado da seguinte forma:

 <ListaDeCategorias
            categoria={this.categoria.categorias}
            adicionarCategorias={this.categoria.adicionarCategoria}
          />

Alguém sabe oque está acontecendo e poderia me ajudar?

1 resposta
solução!

Olá, Pessoal!

Então consegui arrumar o erro da seguinte forma.

<ListaDeCategorias
            categoria={this.categoria.categorias}
            adicionarCategorias={this.categoria.adicionarCategoria.bind(this.categoria)}
/>

basicamente passei o bind.

Espero ajudá-los

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