6
respostas

Estou perdido com as explicações.

Olá,

Gosto muito dos cursos da Alura, mas vocês precisam criar um método mais consistente entre os instrutores. Acabei de fazer o curso de JS Avançado com o Flávio, e, um conteúdo denso e extremamente difícil foi passado com maestria, sem deixar os alunos assustados.

Já nesses dois módulos do React, estou achando que é passado de uma forma muito apressada e sem demonstrar efetivamente o que está acontecendo. Só no vídeo "Definindo regras genéricas", tive que assistir mais de 2x, pois, não entra na minha cabeça o que está acontecendo. Se for para copiar e colar código, prefiro não fazer o curso.. Aproveitem que é um curso que podemos facilmente utilizar o CONSOLE.LOG, para demonstrar o que efetivamente está ocorrendo. A lógica talvez seja mais simples do que parece, mas está muito escondida do jeito que está sendo passado.

Deixem mais claro o porquê e quando devemos utilizar React, o que são e quais as vantagens de se usar Components, etc. Informações essas que são extremamente importantes, ainda mais se tratando de uma tecnologia mais recente.

Fiquei perdido em questões como:

  • validacao[regra.campo] ,por quê se usa a sintaxe []?
  • Spread operator ...args - vou inserir onde?
  • validador[this.validacao.metodo] - metodo de quem?
  • Entre muitas outras dúvidas...
    valida(state){

        let validacao = this.valido();

        this.validacoes.forEach(regra => {

            const campoValor = state[this.validacao.campo.toString()];
            const args = regra.args || [];

            const metodoValidacao = typeof regra.metodo === 'string' ? 
            validador[this.validacao.metodo] : regra.metodo

            if(metodoValidacao(campoValor, ...args, state) !== regra.validoQuando){
                validacao[regra.campo] = {
                    isInvalid : true,
                    message : regra.mensagem
                }
            }
                validacao.isValid = false;
        });

        return validacao;
    }

    valido(){
        const validacao = {};

        this.validacoes.map(regra =>{
            validacao[regra.campo] = {isInvalid : false, message : ''}
        });

        return {isValid : true, ...validacao};
    }

Fica o feedback.

6 respostas

Boa noite, William! Como vai?

Antes de mais nada, obrigado pelo seu feedback! É com participações como essa que fazemos da Alura uma plataforma cada vez melhor! Continue assim!

Deixem mais claro o porquê e quando devemos utilizar React, o que são e quais as vantagens de se usar Components, etc. Informações essas que são extremamente importantes, ainda mais se tratando de uma tecnologia mais recente.

Em relação a esses pontos, realmente é muito importante que todos eles fiquem claros para os alunos uma vez que questões centrais dentro da tecnologia.

Fiquei perdido em questões como:

  • validacao[regra.campo] ,por quê se usa a sintaxe []?
  • Spread operator ...args - vou inserir onde?
  • validador[this.validacao.metodo] - metodo de quem?
  • Entre muitas outras dúvidas...

Já em relação a esses detalhes, todos eles dizem respeito ao JavaScript em si e não ao React. Como o pré-requisito desse curso de React são os cursos avançados de JS, o que acontece é que o instrutor considera que trechos de código como esses que vc citou já estejam dominados por quem assiste o curso. Justamente para que o foco seja completamente nas coisas referentes à tecnologia utilizada.

Obrigado mais uma vez por sua participação! Ela é muito importante pra gente!

Grande abraço e bons estudos, meu aluno!

Boa noite, Gabriel!

Obrigado pelo retorno.

Em relação as questões que fiquei em dúvida, eu fiz os 3 módulos do curso de JavaScript Avançado com o instrutor Flávio. Não sou fluente na linguagem, pois exige muita prática e tempo. Porém, conheço a sintaxe, e quando fico em dúvida, pesquiso em materiais oficiais na WEB, como na própria documentação do React, ou W3Schools, para tentar entender melhor. Mas esta aula em específico, foi a que mais senti dificuldade até o momento.

Opa, William! Sim, eu compreendo. Apenas te mandei essas informações pra que vc possa entender de forma mais profunda a situação. Mas, como eu falei no meu primerio comentário, seu feedback de modo geral é muito importante pra gente!

Sem problemas, Gabriel. Apenas estava tentando esclarecer essas minhas dúvidas, para que eu possa absorver o curso melhor :)

Concordo com o William, é desanimador

Concordo com o William também!