1
resposta

Propriedades estáticas

O porquê deu esse erro?

A mensagem de erro que você recebeu no Console do DevTools:

Uncaught TypeError: this.personagensSelecionados is not a function
Significado do erro: Esse erro indica que o código está tentando chamar this.personagensSelecionados() como se fosse uma função, mas na verdade this.personagensSelecionados não é uma função — provavelmente é um array, objeto, ou está indefinido.

Causa provável: Na linha 24 do arquivo personagem-view.js, dentro do método criaPersonagem, o código está tentando executar this.personagensSelecionados() — com parênteses — o que só é válido se personagensSelecionados for uma função. Se personagensSelecionados for, por exemplo, um array de personagens selecionados, o correto seria acessar ou iterar sobre ele, não chamá-lo como função.

Como corrigir: Você pode revisar a definição da classe PersonagemView e verificar como personagensSelecionados está sendo definido. Aqui vai um exemplo de correção:

Se personagensSelecionados for um array:

// Errado
const selecionados = this.personagensSelecionados();

// Correto
const selecionados = this.personagensSelecionados;
 Se for uma função, certifique-se de que está definida corretamente:
js
class PersonagemView {
  personagensSelecionados() {
    // retorna um array ou algo útil
  }
}

Ou, se estiver usando uma propriedade:

class PersonagemView {
  constructor() {
    this.personagensSelecionados = []; // array, não função
  }
}

Dica extra: Se você estiver usando arrow functions ou métodos que dependem de this, verifique se o contexto (this) está correto. Às vezes, o erro vem de this estar referenciando outro objeto, especialmente em callbacks.

Se quiser, posso revisar o trecho do código onde isso ocorre e sugerir uma correção mais precisa. Deseja colar aqui o conteúdo da classe PersonagemView ou pelo menos o método criaPersonagem?

e não está renderizando as figuras.

1 resposta

Olá, Estanislau, como vai?

Poderia colar aqui o código do seu arquivo personagem-view.js? Assim consigo analisar o que esta acontecendo e ajustar para que as figuras sejam renderizadas corretamente.

Fico no aguardo e a disposição :)