Então, estamos fazendo um bom progresso.
Migramos todos os nossos navegadores ou quase todos.
Agora, e o navegador de switch vazio do navegador AQUI.
Bem, você saiu do Navigator, com certeza.
É um Navegador de pilha que é responsável pela tela e por nós.
Bem, e o navegador de switch?
Bem, não precisaremos mais mudar de navegador.
Não existe um pacote de interruptores de barra de reação ou algo do tipo.
Mas voltarei a isso quando precisarmos.
Então, por enquanto, vamos criar nosso navegador fora de linha ou fora da pilha aqui chamando navigator.
Ao chamar create navigator de pilha e exportar nosso constante ano fora do navegador, que novamente é um componente
de reação como antes quando retornamos do navegador de pontos do navegador de pilha.
E lá temos a tela de pontos do navegador do seu escritório e o nome da tela está desativado.
Como temos aqui e fazemos o componente que precisamos, está fora da tela, então é isso.
Agora temos as opções do diabo NAF aqui.
Portanto, as opções de tela no navegador devem ser as opções padrão de soneca e 40 opções específicas da tela.
Vamos dar uma olhada na tela desativada e, se rolarmos para a parte inferior, também temos algumas opções aqui.
Então, vamos exportar nossas opções de tela aqui, como fizemos antes.
Vamos exportar e depois ir para o navegador da loja aqui e nessa tela.
Vamos definir as opções duas opções fora da tela que agora também precisamos adicionar como
uma importação na parte superior da tela. Importamos as opções da tela como opções fora da tela, e é isso.
Agora também temos essa tela de inicialização, mas se tivermos uma visão mais detalhada no passado, apenas apontamos
isso diretamente de dentro do nosso switch Navigator, o que nos deixa com apenas uma pergunta.
E esse navegador de switch?
Agora, no passado, essa seria a primeira tela que você vê uma vez que a maçã carregava,
porque é a primeira tela mais alta nessa configuração.
E então tínhamos lógica naquele contêiner de navegação antigo que criamos anteriormente, onde verificamos se estamos
autenticados e, se isso não fosse verdade, se não estivéssemos autenticados, redirecionaríamos o usuário
para essa tela.
Agora, quando chegaríamos à tela da loja.
Bem, vamos dar uma olhada na tela de inicialização.
Lá, vemos que tentamos autenticar e, aqui, íamos para a tela das lojas quando
logávamos automaticamente.
Essa foi a lógica que escrevemos lá.
Agora isso ainda é uma lógica que faz muito sentido.
Só precisamos ajustá-lo para o novo pacote de navegação. No final, o que podemos ver aqui é que,
no início da tela, estamos tentando bloquear o usuário e, se não conseguirmos encontrar os dados armazenados no dispositivo, vamos para
a página desativada.
Se descobrirmos que os dados sobre o token expiraram ou não chegaremos à página desativada.
Se tivermos sucesso com tudo e tivermos um token válido, em vez disso, iremos para a página da loja
e enviaremos uma ação em que autenticamos o usuário que muda de
estado e nossa loja redux que define os tokens inicialmente no token em nossa loja. agora agora podemos usar isso.
E se nos livrarmos de todas essas chamadas de navegação aqui para que possamos excluí-las ou apenas comentá-las enquanto o
faço aqui.
Então, nos livramos de todas essas ações de navegação.
O que acontece se voltarmos aqui.
Bem, se voltarmos aqui, a execução da disfunção interrompe Indiana corretamente.
Para.
E o que definitivamente não fazemos é que definitivamente não enviamos ação.
Portanto, definitivamente não definimos o token para nada.
Ainda não é.
Isso sempre acontece aqui, a menos que cheguemos ao fundo, caso em que temos um token.
Nós nos despachamos e o token não é nulo.
Eles costumam estar em nossa loja.
Portanto, esse token que gerenciamos com redux é agora ou possui um valor.
Agora eu quero ajustar um pouco a loja redux.
A parte off e todos vocês para o usuário e eu adicionarei uma nova parte de
dados a esse estado, que é a tentativa de todos fazer o login.
Você pode nomeá-lo como quiser e eu o configurarei como false inicialmente aqui.
Quero armazenar se tentamos fazer login no usuário ou não.
Agora, se nos autenticarmos.
Portanto, se despacharmos uma ação com esse identificador, configurarei a tentativa de logon automático como true.
Também adicionarei uma nova ação aqui nas ações desativadas e, para isso, adicionarei
um novo identificador aqui, que nomeei set tentou ou um L para logon automático tentou um L e criará um criador de ação
para isso set tentou um L que não leva argumentos.
E onde eu não retornei meu objeto de ação onde digitar está definido.
Tentei um ..
Você também pode colocá-lo na parte inferior do arquivo, não importa.
Agora, por que estou fazendo isso?
Você verá isso no segundo.
Vamos voltar para o redutor, desligá-lo e lidar com este novo gabinete.
O conjunto de casos tentou um l.
Certifique-se de que você também importa a partir de ações de agora em qualquer ano; retornamos um novo estado em que copio o estado
antigo e onde eu disse que tentei o log automático como true, para que o token ainda possa ser conhecimento, apenas
defina isso como true.
Agora, minha ideia é que eu despache essa ação aqui na tela de inicialização.
Em todos os cenários em que fomos anteriormente para a tela desativada, tentamos fazer login, mas
não obtivemos sucesso.
Então sim, eu vou despachar o conjunto, tente A. EU. portanto, certifique-se de acessá-lo em suas ações desativadas,
assim e nos dois casos em que navegamos anteriormente para a tela desativada.
Então agora temos esse novo campo e redux e por que estou fazendo isso.
Por que isso é útil?
Bem, porque com a navegação de reação 5 não há mais o navegador de comutadores, porque não precisamos mais
dele, pois agora gerenciamos toda a configuração da rota.
Por que os componentes podem renderizar componentes dinamicamente para que eles tenham efeito ou não,
assim, no navegador de aplicativos onde eu renderizo o navegador de meus produtos.
Agora é hora de adicionar todos esses navegadores a serem configurados e, em seguida, decidir qual
navegador deve ser renderizado no navegador da loja.
Agora, na verdade, quero importar esse navegador
de loja aqui, que exportarei como uma constante novamente e, em seguida, aqui um navegador de aplicativo, importo o navegador
de loja.
Esse é o nosso sorteio de um navegador.
Tenha isso em mente e é isso que eu quero processar aqui.
Navegador da loja.
Portanto, isso é basicamente o que eu quero renderizar se estivermos presos à nossa loja anteriormente, e foi o
que mapeamos para essa chave de loja no navegador de switch.
Agora todos precisamos do navegador desativado na tela de inicialização.
Então, aqui está um navegador de aplicativos.
Importarei o navegador desativado e esses são os únicos dois navegadores que preciso importar aqui.
Portanto, você pode remover a declaração de exportação de todos os outros navegadores aqui em nosso arquivo de navegador da loja, mas
o que também precisará importar para o navegador de aplicativos é a tela de inicialização agora.
Então, vamos importar a tela de inicialização das telas de inicialização e agora aqui temos o navegador da loja.
Temos o off Navigator como alternativa e também temos uma tela de inicialização profunda, agora ele renderizará apenas um
dos arquivos gratuitos e.
E é aqui que agora podemos reutilizar o redux.
Copiarei use selector porque as informações do site sobre o token que também
estou interessado em aprender sobre o tentaram todos os campos de logon que adicionei ao estado off aqui.
Esse novo campo acrescentou que agora eu tenho acesso a isso aqui no meu arquivo do navegador de aplicativos e armazenado
e tentei fazer o logon constante.
Agora eu sei que quero renderizar para fazer compras se tudo isso é verdade e como é que podemos fazer isso se estivermos autenticados.
Eu sempre procuro fazer compras, não me importo com mais nada.
Agora, eu quero renderizar o navegador desativado, se houver uma das falhas dele, e ainda tentamos fazer o
login, porque, se ainda não tentamos fazer o login automaticamente, na verdade, eu quero renderizar a tela de inicialização,
se não estivermos autenticados e o fizemos ainda não tente nosso log automático.
Bem, então não sabemos se o usuário pode ser um autenticador ou não.
Portanto, nesse caso, quero renderizar para a tela de inicialização agora, quero rapidamente um PDV lá e verifique se estamos todos na
mesma página e todos entendemos por que agora estamos usando isso em vez do navegador de comutador.
Agora, antes de mais nada, não há mais navegador de chaves na navegação de reação 5.
Mas por que foi removido?
Bem, como agora configuramos tudo com componentes, podemos usar ferramentas de reação regulares para renderizar um
componente ou não.
Se você não está pensando em navegação, mas em uma tela normal, na qual talvez
você tenha um texto que deseja mostrar apenas condicionalmente, usaria algum estado e, em J, X, às vezes, renderizaria
um texto com uma expressão ternária, por exemplo .
E estamos fazendo o mesmo aqui com nossa configuração de rota, com nossas configurações
de tela, aqui, a configuração da tela que temos aqui é diferentes navegadores e, na tela
de inicialização, no final, todas as coisas que reagem devem estar cientes de trazer algo para o tela e
reagir à navegação nos bastidores levantamento pesado empoeirado interpretando nossa configuração e certificando-se de que o
componente correto seja renderizado na tela.
Agora, se usarmos desativado e tentarmos fazer logon automático para controlar qual navegador é realmente renderizador ao reagir usando
uma expressão ternária, garantiremos que, por exemplo, desativado não seja verdade, não há como as telas
do navegador de compras trazido para a tela.
Por quê.
Como o componente navegador de loja que mantém nossa configuração raiz relacionada à loja, nossa configuração de
tela esse componente é renderizada apenas se for office true.
Portanto, não há como uma tela relacionada à loja ser renderizada na tela se se off for falso.
Realmente faça essa comparação com elementos de texto normais ou caixas normais em uma tela que você renderiza condicionalmente.
Estamos fazendo o mesmo aqui, mas não com caixas e texto, mas com toda a nossa pilha de navegação.
É isso que fazemos aqui e, com tudo isso, se salvarmos e
executarmos novamente no Android, acabaremos fora da tela e se eu recarregar isso e reconstruído, novamente acabaremos lá.
Agora, se eu tentar entrar aqui, agora
realmente tenho um problema aqui.
Recebo um erro ao navegar com uma carga útil da loja que não foi bem tratada.
Isso agora faz sentido se você pensar sobre isso.
Não temos mais nenhum navegador de switch.
Em vez disso, apenas controlamos qual navegador queremos renderizar sob quais circunstâncias.
Então, por que estamos recebendo isso?
Você pode descobrir e consertar por conta própria.
Caso contrário, faremos isso juntos. Vamos consertar juntos na próxima aula.