Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Mensagem de Sucesso

Olá, existe algum motivo pelo qual a mensagem de Sucesso é chamada em App.js e não dentro do Formulário.js logo após a definição do state inicial, como a mensagem de erro que também é chamada em submitFormulario?

Exemplo:

 submitFormulario = () => {
    const validacao = this.validador.valida(this.state);

    if (validacao.isValid) {
      this.props.escutadorDeSubmit(this.state);
      this.setState(this.stateInicial);
      PopUp.exibeMensagem("success", "Autor adicionado com sucesso"); 
    } else {
      const { nome, livro, preco } = validacao;
      const campos = [nome, livro, preco];

      const camposInvalidos = campos.filter(elem => {
        return elem.isInvalid;
      });
      camposInvalidos.forEach(campo => {
        PopUp.exibeMensagem("error", campo.message);
      });
    }
  };

Peço desculpas se a dúvida for muito boba. Um abraço!

3 respostas
solução!

Fala ai Roger, tudo bem? Vamos lá:

Olá, existe algum motivo pelo qual a mensagem de Sucesso é chamada em App.js e não dentro do Formulário.js logo após a definição do state inicial, como a mensagem de erro que também é chamada em submitFormulario?

Essa regra não é responsabilidade do formulário, o que o componente Formulario precisa ser responsável em fazer é validar os campos e executar uma função quando o mesmo for submetido.

Agora se o resultado da submissão dele é criar um novo autor ou livro, ai é uma responsabilidade de fora.

Espero ter ajudado.

Obrigado!

Magina Roger, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.