da2k / curso-reactjs-ninja

917 stars 322 forks source link

M4#A99 - Aplicação não roda após atualizar as dependências #571

Closed jhonnytrinca closed 3 years ago

jhonnytrinca commented 3 years ago

Olá @fdaciuk!

Tive um problema após fazer as atualizações de dependências no projeto do React-zzaria, a principio enquanto estava logado funcionou bem, mas quando cliquei para deslogar e ver se funcionaria logar novamente as telas já não rodavam mais. ao dar o yarn dev ele abre a página, no console não mostra nenhum erro específico referente a isso mas fica carregando eternamente, seja tentando pela home ou já indo direto no /login Pode dar uma olhada aonde está o problema no meu código?

Outra dúvida que fiquei também é referente a um warning que aparece no console de Setting displayName on Context.Consumer has no effect. You should set it directly on the context with Context.displayName = 'Router.Consumer' Antes de eu deslogar isso não atrapalhou em nada na aplicação, mas sabe como resolvo isso?

Segue o projeto: Reactzzaria

@fdaciuk

fdaciuk commented 3 years ago

Oi @jhonnytrinca! O problema está nessa regra aqui.

Tá vendo ali no useEffect que você só seta o estado de userInfo e didCheckUserIn se o usuário estiver logado?

Ou seja: se o usuário não estiver logado (user será null), você não vai definir o novo estado. Não definindo o novo estado, didCheckUserIn vai ser sempre false, e apenas esse código será executado (loading infinito) =)

O certo é fazer dessa forma, como mostrado na aula: independente se o usuário está logado ou não, você precisa definir o novo valor para didCheckUserIn =)

Se quiser continuar fazendo com if como você fez, você só precisa mover o setCheckUserIn(true) para fora do if, pois assim, independentemente se o usuário logou ou não, você vai setar esse estado corretamente, e o app vai prosseguir com o funcionando esperado =)

fdaciuk commented 3 years ago

Sobre o warning: ele não afeta o comportamento da aplicação. Mas possivelmente esse warning é de algum componente do Material UI, pode ignorar =)

jhonnytrinca commented 3 years ago

Olá @fdaciuk, bom dia!

Perfeito, muito obrigado pela ajuda!! :D

fdaciuk commented 3 years ago

Qualquer dúvida, só avisar :D