3
respostas

View não está atualizando

Não sei porque, mas quando clico em qualquer botão do tipo "Adicionar" ou "Importar negociações" a view não atualiza automaticamente. A mensagem de sucesso ou de erro só aparece na próxima vez que clico em algum botão, como se tivesse atrasado...

3 respostas

Oi Lorrayne, compartilha o código do seu proxy comigo? Aquele responsável pelas atualizações?

Fico no aguardo!

export class ProxyFactory {

    static create(objeto, props, acao) {
        return new Proxy(objeto, {
            get(target, prop, receiver) {
                if(props.includes(prop) && ProxyFactory._ehFuncao(target[prop])) {
                    return function() {
                        Reflect.apply(target[prop], target, arguments);
                        return acao(target);
                    }
                }
                return Reflect.get(target, prop, receiver);       
            },

            set(target, prop, value, receiver){
                if(props.includes(prop))
                    acao(target);
                return Reflect.set(target, prop, value, receiver);                
            }
        });
    }

    static _ehFuncao(func){
        return typeof(func) == typeof(Function);
    }
}

Boa tarde. O problema existe e ele é resolvido lá na frente.

Vai chegar uma hora que seu set terá que estar assim:

set(target, prop, value, receiver) {
    if(props.includes(prop)) {
        target[prop] = value;
        acao(target);
    }
    return Reflect.set(target, prop, value, receiver);
}

Veja que faltou o target[prop] = value. Como eu só corrijo isso lá na frente, gera uma dúvida no aluno mesmo. No vídeo eu pedi para incluir uma seta dizendo onde o target[prop]=value deve ser incluído.

Desculpe qualquer transtorno minha aluna.