Arquitetura MVVM no React Native!

Поділитися
Вставка
  • Опубліковано 12 жов 2024

КОМЕНТАРІ • 27

  • @thalesgelinger
    @thalesgelinger Рік тому +13

    Cara, sensacional, eu tenho pensado do pq raios ninguém fala sobre os patterns de UI no RN e tu foi o primeiro a trazer isso, eu tava pensando em aplicar exatamente dessa forma num projeto, fico feliz que mais alguém pensou nisso, assim eu N pareço louco de mudar totalmente a forma como trabalhamos com React

  • @alamo_DevFlow
    @alamo_DevFlow Рік тому

    eu achei q eu manjava de react native, depois q comecei a trabalhar com flutter q fui aprendendo que existem os padrões de projetos. agora voltando pro react eu sempre me perguntei pq ngm estrutuvava ou falava sobre os padrão no react. que bom que vc fez video pra usar como refêrencia vlw.

  • @angelilton
    @angelilton 9 місяців тому

    Top em man isso q estava precisando. Sozinho em outro projeto e vivo tendo que testar tudo quando faço alguma mudança. Assim vai ficar bem mais fácil pensando até em usar o detox só UI

  • @mitchelsonps
    @mitchelsonps Рік тому +2

    Muito bom, parabéns

  • @andersonvanzo2956
    @andersonvanzo2956 2 роки тому +2

    vídeo incrível!

  • @LassNoches
    @LassNoches 7 місяців тому +3

    Onde ficaria o useeffect ? Dentro da view ou viewModel ?

    • @BrunoLopese1
      @BrunoLopese1 3 місяці тому

      Useeffect fica na parte que sincroniza com o sistema externo.

  • @allllan15
    @allllan15 Рік тому +1

    Muito bom meu amigo!

  • @skynight0147852369
    @skynight0147852369 Рік тому

    Conteúdo super daora!

  • @kameikay
    @kameikay 2 роки тому +1

    Muito bem explicado! Parabéns!

  • @BrunoLopese1
    @BrunoLopese1 3 місяці тому

    Estou trabalhando em uma aplicação que inicialmente era mais simples e usava MVC, depois de um tempo a complexidade aumentou muito e tô pensando se seria interessante o MVVM

  • @joaoschaab1111
    @joaoschaab1111 2 роки тому +1

    Muito bom. Parabéns Ismagel

  • @alecsandersouzafarias8334
    @alecsandersouzafarias8334 2 роки тому +3

    Nos seus teste você fica verificando o snapshot, um exemplo é que o botão deve estar disabled={true} caso loading seja true. Você consegue reproduzir isso mockando ali, isso eu entendi, porém, para verificar se ficou disabled={true} de verdade você só consegue olhando o snapshot por conta própria. Não acho muito bom isso, até pq tira o fator de ser teste "automatizado". Faz sentido isso ? Se fizer, tem alguma coisa que podemos fazer a mais para fazer essas verificações de forma automática ?
    Além disso, parabéns pelo vídeo, eu estaa interessado em utilizar NVVM para RN faz um tempo e ninguem publica conteudo disso a uns 6 meses atrás, parabéns pela iniciativa. Show dmais.

    • @Catapulta-club
      @Catapulta-club  2 роки тому

      Na vdd, você não precisa abrir o arquivo e verificar manualmente. Se o snapshot falhar o teste já quebra indicando que houve mudança. No vídeo eu fiquei usando a flag -u que refaz todos os snapshots, mas se vc não usar ela e mudar algo mostrará um erro para ti. Sobre automatizar você pode rodar esse teste no github actions por exemplo só instalar as deps e rodar yarn test no seu CI

    • @alecsandersouzafarias8334
      @alecsandersouzafarias8334 2 роки тому +2

      @@Catapulta-club No caso isso esta indicando que teve diferença mas não necessariamente um erro, e tb do jeito que mostrou, deixa implicito que deve rodar ao menos uma vez certo e deixar o snapshot correto gravado para que no furuto quando "rodar" sem a flag -u apresente diferença. Não parece muito legal a ideia de que o mesmo teste dependa de um "resultado" antigo dele mesmo.

    • @ismaelsousa3737
      @ismaelsousa3737 2 роки тому +2

      @@alecsandersouzafarias8334 sim, esse tipo de teste pode sim variar. Ele geralmente é usado para verificar se o design tá correto. No repositório além do teste de snapshot eu fiz os testes unitários caso a caso. Por exemplo, no unitário eu vejo se tem os inputs, mas o de snapshot pode verificar para mim se a cor não mudou. Dar uma olhada no repo

    • @doug8590
      @doug8590 Рік тому +1

      sem usar o teste de snapshot, você poderia garantir de outras formas primeira selecionando o botao e depois fazendo um expect se ele tem a propriedade disabled
      const button = screen.getByText(/salvar/i);
      expect(button).toBeDisabled();
      ou
      expect(button ).toHaveAttribute('disabled');

    • @alecsandersouzafarias8334
      @alecsandersouzafarias8334 Рік тому

      @@doug8590 isso funciona pra react-native ? Achei que esses de getByText era só pra web

  • @igorramon1786
    @igorramon1786 Рік тому +2

    Sensacional a explicação, porém fiquei com uma dúvida, em quais locais da aplicação eu utilizaria os métodos que tratam do ciclo de vida dos componentes?
    Caso sejam aplicados nas views, não estaríamos acrescentando regra de negócio nas views?

    • @Catapulta-club
      @Catapulta-club  Рік тому

      vou te dar alguns exemplos, se vc usar o react hook form, vc colocaria na view ou no controller para validar os inputs? eu colocaria na view pq se os inputs n estao corretos o ideal é a view lidar com isso e so chamar a regra de negocio passando os inputs validados. Ou se vc tem um state para ativar um modal, onde vc colocaria? @igor ramon

  • @paulonapa
    @paulonapa Рік тому

    muito legal, mas poderia falar quais comandos você utilizou pra iniciar o projeto?

    • @Catapulta-club
      @Catapulta-club  Рік тому

      reactnative.dev/docs/environment-setup?os=windows&platform=android

  • @roni_castro
    @roni_castro Рік тому

    não seria muito mais fácil e intuitivo fazer teste de integração do fluxo inteiro ao invés de unitário, isto é, preencher email, preencher senha, clicar no botão submit e verificar que onSubmit foi chamado com valor correto, ou não foi chamado se estiver faltando algo?