1
resposta

[SOLUÇÃO] Sobre o problema com "setState is not a function"

Quando usamos uma função com a sintaxe padrão "function(){...}" ocorre a sobreposição do "this", e com isso perdemos o acesso ao this anterior.

Já a Arrow Function não sobrepõe o this.

Uma solução mais simples seria trocar:

success: function(resposta) {
        this.setState({lista: resposta});
}.bind(this)

Por:

success: (resposta) => {
        this.setState({lista: resposta});
}

Apenas essa mudança já torna possível ver os dados na tabela.

1 resposta

Isso mesmo Rafael, além de resolver o problema de contexto do thiscom arrow function o nosso código fica mais enxuto.

Obrigado por compartilhar !!