1
resposta

Solução de "TypeError: Cannot read property 'length' of undefinied"

Olá. Gostaria de compartilhar aqui a solução que encontrei para o erro "TypeError: Cannot read property 'length' of undefinied" que eu estava obtendo ao testar as validações. Basicamente, o objeto "erros", que recebia a validação através do método "this.valida" não estava sendo isntanciado.

Aqui está a minha função "this.valida" antes da correção:

this.valida = (parametros)=>{
            this.validacao.filter(campo=>{
                    const { nome } = campo
                    const parametro = parametros[nome]
                    return !campo.valido(parametro)
                }
            )
        }

E assim ela ficou após a correção:

this.valida = (parametros)=>{
            return this.validacao.filter(campo=>{
                    const { nome } = campo
                    const parametro = parametros[nome]
                    return !campo.valido(parametro)
                }
            )
        }

Basicamente, a diferença entre elas é que na correção eu realizei um "return" no método "filter". Isso foi necessário porque utilizei o abre e fecha de chaves na arrow-function, então é necessário indicar qual será o retorno daquele bloco de execução. Como na aula a professora não utilizou essas chaves, ele retornou diretamente o resultado do filtro.

Espero poder estar ajudando com a dúvida de alguém. Até mais!

1 resposta
QUE CARA BOM!!! valeu, esse erro ocorreu em outros projetos meus e eu estava SURTANDO ASJDHJAKSHDAS

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