1 00:00:02,250 --> 00:00:08,640 Eu quero começar com a forma mais básica de navegação e também a forma mais comum de navegação que 2 00:00:08,640 --> 00:00:14,820 você tem em qualquer aplicativo móvel. É assim que você vai e volta entre as telas e, para 3 00:00:14,820 --> 00:00:19,030 isso, irá configurar a chamada pilha e navegador, porque páginas ou telas. 4 00:00:19,110 --> 00:00:21,630 Vou usar essas palavras como sinônimos aqui. 5 00:00:21,630 --> 00:00:26,040 Portanto, páginas e telas são basicamente gerenciadas em uma pilha de páginas. 6 00:00:26,250 --> 00:00:32,220 E sempre que você for para uma nova tela, ela será empurrada para cima da pilha, na tela superior 7 00:00:32,220 --> 00:00:34,570 da pilha sempre será a tela visível. 8 00:00:34,650 --> 00:00:39,710 E quando você clica no botão Voltar, é exibido nesta tela em que você estava. 9 00:00:39,840 --> 00:00:45,600 E como você sempre vê no aplicativo a tela superior, verá a tela abaixo da tela de 10 00:00:45,600 --> 00:00:46,950 onde você veio. 11 00:00:46,950 --> 00:00:49,370 É por isso que se chama Stack Navigator. 12 00:00:49,390 --> 00:00:50,490 Agora essa é a fúria. 13 00:00:50,490 --> 00:00:53,100 Vamos simplesmente usá-lo e ficará muito claro. 14 00:00:53,370 --> 00:00:55,080 Nós importamos de reagir. 15 00:00:55,080 --> 00:00:59,870 Navegação e seu nome foram o nome da função. 16 00:00:59,880 --> 00:01:05,550 Na verdade, precisamos criar um navegador de pilha é criar um navegador de pilha. 17 00:01:05,550 --> 00:01:11,890 Agora, uma observação importante: esta sintaxe está correta se você estiver usando a versão de navegação de reação gratuita, se estiver 18 00:01:11,910 --> 00:01:17,880 usando a aversão à navegação de navegação, pois ela mudou um pouco, então você precisa instalar um pacote extra, como 19 00:01:17,880 --> 00:01:19,620 mencionado em uma aula anterior. 20 00:01:20,700 --> 00:01:29,610 Você precisa executar o npm install dash dash salvar reat dash dash dash stack e instalar este pacote extra e, com ele instalado, você cria create 21 00:01:30,390 --> 00:01:36,990 stack navigator de react como navigation dash stack em vez de react navigation, que é um pequeno ajuste que 22 00:01:36,990 --> 00:01:42,900 você não precisa fazer quatro crie um navegador de pilha e, quando criarmos nossos navegadores, por exemplo, 23 00:01:42,900 --> 00:01:49,140 os toques ou o navegador de desenho mais tarde, você terá os respectivos pacotes necessários para instalar os 24 00:01:49,140 --> 00:01:54,990 toques de traço de navegação de reação e assim por diante novamente, tudo isso coberto pela palestra 25 00:01:55,020 --> 00:01:57,370 que você encontra antes desta palestra. 26 00:01:57,460 --> 00:02:03,150 Agora, aqui eu gravei este curso com a versão de navegação de reação gratuita, que, caso contrário, é exatamente a 27 00:02:03,150 --> 00:02:03,520 mesma. 28 00:02:03,510 --> 00:02:08,370 É apenas a importação que difere e, portanto, importarei da navegação de reação aqui. 29 00:02:08,430 --> 00:02:14,310 Mas se você está acompanhando a Versão 4, o painel de navegação do bash react reage com um pacote extra 30 00:02:14,300 --> 00:02:15,730 que você precisa instalar. 31 00:02:15,870 --> 00:02:22,020 Então é assim que a navegação por reação nesta biblioteca funciona, você cria os chamados navegadores que 32 00:02:22,030 --> 00:02:30,090 estão no final. Você poderia dizer que os objetos reagem de fato aos componentes, uma vez que resultará em todas as configurações de 33 00:02:30,090 --> 00:02:34,860 navegação, todas as informações sobre as diferentes telas que você possui e quais 34 00:02:34,860 --> 00:02:40,350 fará o trabalho pesado carregando telas diferentes e tocando boas transições suaves para passar de 35 00:02:40,350 --> 00:02:42,270 A para B para você. 36 00:02:42,270 --> 00:02:49,710 Portanto, precisamos importar o create navigator da pilha e, em seguida, podemos simplesmente chamar que agora o create navigator da 37 00:02:49,710 --> 00:02:56,130 pilha recebe pelo menos um argumento e esse é um objeto javascript, onde configuramos as diferentes telas 38 00:02:56,220 --> 00:03:02,940 que queremos que possamos mover agora e esse aplicativo que eu quero para iniciar na tela de categorias 39 00:03:02,940 --> 00:03:09,450 e se eu tocar em uma categoria lá, quero ir para a tela de refeições categoria e se 40 00:03:09,450 --> 00:03:16,530 tocar em uma receita em uma refeição, quero ir para a tela de detalhes da refeição, para que precisemos 41 00:03:16,770 --> 00:03:23,610 deles três telas em nosso navegador de pilha, para que você possa se mover usando essas linhas, empurrando as 42 00:03:23,610 --> 00:03:30,300 páginas e abrindo-as e porque não precisamos de favoritos e filtros, porque os filtros serão adicionados posteriormente com 43 00:03:30,300 --> 00:03:37,350 a ajuda de uma barra lateral será uma alternativa a esta pilha aqui e os favoritos também como uma 44 00:03:37,350 --> 00:03:42,960 alternativa a essa pilha, poderemos ir lá com toques mais tarde, mas não agora. 45 00:03:42,960 --> 00:03:48,990 Então, vamos começar com esta navegação básica baseada em pilha, na qual podemos ir e voltar 46 00:03:48,990 --> 00:03:56,850 entre as categorias tela de refeições da categoria Tela e você detalha a tela, informamos a navegação de reação sobre essas três 47 00:03:57,180 --> 00:04:05,500 telas registrando-as como pares de valores-chave que você escolhe qualquer identificador com qualquer nome sua escolha, por exemplo, categorias, mas esse nome depende 48 00:04:05,530 --> 00:04:11,500 de você como convenção de nome de propriedade: comece com um caractere maiúsculo aqui, a propósito, 49 00:04:11,500 --> 00:04:14,470 mas você não precisa fazer isso tecnicamente. 50 00:04:14,650 --> 00:04:20,620 Portanto, você usa qualquer identificador que desejar como um nome de propriedade neste objeto que 51 00:04:20,740 --> 00:04:29,920 está passando para criar um navegador de pilha e agora o valor em sua forma mais simples simplesmente é um ponteiro no componente de 52 00:04:29,920 --> 00:04:34,690 react que você deseja carregar como uma tela para essa tela. 53 00:04:34,690 --> 00:04:43,890 Portanto, no meu caso, todas as categorias de tela importam essa tela de todas as categorias de importação da tela 54 00:04:44,760 --> 00:04:51,740 de categoria de telas. Posso importar isso porque essa é a minha exportação padrão. 55 00:04:51,940 --> 00:04:59,410 Então agora mapeamos essas duas categorias e isso nos permite dizer mais tarde que a navegação de reação usa a biblioteca que estamos 56 00:04:59,410 --> 00:05:02,920 usando e que ela deve carregar a tela de categoria. 57 00:05:02,920 --> 00:05:08,690 Agora, como eu disse, essa não é a única tela de que preciso. Também quero ter a categoria refeições. 58 00:05:08,710 --> 00:05:14,590 Portanto, esses são os sistemas da segunda tela. Essa tela apresentará todas as refeições da categoria escolhida, para 59 00:05:15,310 --> 00:05:21,550 as quais temos vários componentes e essa é a tela de refeições da categoria que preparamos, que importamos das telas 60 00:05:21,550 --> 00:05:29,680 da tela de refeições da categoria, para mapearmos este ano agora até da maneira que mencionei que esta é a forma mais simples de mapeamento, simplesmente 61 00:05:29,680 --> 00:05:34,720 com o nome da propriedade e, em seguida, um ponteiro no componente que você deseja 62 00:05:35,290 --> 00:05:42,040 carregar, você também pode passar o objeto aqui e, em vez disso, definir a propriedade de tela nesse objeto e apontar para 63 00:05:42,100 --> 00:05:44,470 at o componente que você deseja carregar. 64 00:05:44,470 --> 00:05:46,030 Agora, por que você faria isso? 65 00:05:46,090 --> 00:05:52,540 Como agora você também pode definir configurações adicionais aqui, além da tela, você pode definir algumas opções padrão para a 66 00:05:52,540 --> 00:05:57,220 tela e assim por diante, mas isso não é algo com o que tenhamos 67 00:05:57,730 --> 00:06:02,740 que nos preocupar agora. Na verdade, cuidaremos disso mais adiante neste módulo só quero mencionar que 68 00:06:02,740 --> 00:06:08,230 esse é o atalho, essa é a forma mais longa de informar à navegação de reação quais 69 00:06:08,230 --> 00:06:14,170 telas devem ser carregadas para qual identificador falando que precisamos de um terceiro identificador, é claro, e esse é 70 00:06:14,170 --> 00:06:21,060 o identificador que deve carregar nossa tela detalhada. nomeie-o como detalhe da refeição e eu quero apontar para a tela detalhada da 71 00:06:21,090 --> 00:06:29,110 minha refeição, então eu importarei a tela de detalhes da refeição E agora vamos para a pasta screens e lá está a tela detalhada da 72 00:06:29,150 --> 00:06:31,760 refeição e, novamente, usarei o atalho aqui. 73 00:06:31,760 --> 00:06:35,830 Poderíamos usar esse formulário mais longo, mas usarei esse atalho no ponto na tela detalhada da refeição. 74 00:06:36,710 --> 00:06:40,370 Então, com essa configuração básica, estamos dizendo para reagir à navegação. 75 00:06:40,370 --> 00:06:49,020 Ei, estas são as telas que poderão se mover no momento, no entanto, os dados por si só não farão muito. 76 00:06:49,030 --> 00:06:49,540 Por quê. 77 00:06:49,840 --> 00:06:57,600 Como estamos criando esse navegador de pilha, mas não estamos fazendo nada com ele, então vamos mudar esse navegador de 78 00:06:58,080 --> 00:07:05,150 criação de pilha, na verdade, retorna um contêiner de navegação e acaba sendo um componente de reação. 79 00:07:05,150 --> 00:07:07,070 É tudo nomeado como navegador de refeições. 80 00:07:07,080 --> 00:07:10,620 Parece um nome adequado, porque é isso que temos no final aqui. 81 00:07:10,620 --> 00:07:15,570 E agora estamos armazenando o componente de reação criado pelo Stack Navigator, que é basicamente 82 00:07:15,570 --> 00:07:22,380 um componente de reação com todo o trabalho pesado de carregar telas diferentes e reproduzir animações que esse componente de 83 00:07:22,380 --> 00:07:25,160 reação é armazenado no navegador de refeições. 84 00:07:25,170 --> 00:07:32,830 Agora, podemos exportar o navegador de refeições aqui e tentar usá-lo dessa maneira e capturá-lo para renderizá-lo na tela e ver 85 00:07:32,830 --> 00:07:38,410 o que acontece, mas na verdade reagir a navegação funciona de maneira um pouco diferente. 86 00:07:38,470 --> 00:07:45,350 Você também precisa criar um contêiner de aplicativo neste contêiner de aplicativo, para quebrar sua rota. 87 00:07:45,440 --> 00:07:50,370 Portanto, seu navegador principal, neste caso, temos apenas um, temos apenas que empilhar o Navegador. 88 00:07:50,390 --> 00:07:51,900 Então, vamos encerrar isso com isso. 89 00:07:51,980 --> 00:07:57,740 Vamos embrulhar as refeições, navegá-las ou recriá-las, chamando create container de aplicativo e, em seguida, simplesmente passe 90 00:07:57,740 --> 00:08:01,850 o Navegador de refeições como um argumento para criar container de aplicativo. 91 00:08:01,940 --> 00:08:03,880 Também cria um contêiner de navegação. 92 00:08:03,950 --> 00:08:05,670 O que também oferece um componente de reação. 93 00:08:05,750 --> 00:08:08,120 Mas este não é realmente o componente de reação. 94 00:08:08,120 --> 00:08:15,890 Você deve usar seu código ASX, pois agora ele possui todos os metadados da navegação em geral, sobre a navegação por 95 00:08:15,890 --> 00:08:17,930 reação e assim por diante. 96 00:08:17,930 --> 00:08:24,680 Portanto, este é simplesmente um padrão que você precisa para envolver sua rota com o navegador mais importante e usar esse componente de 97 00:08:24,680 --> 00:08:30,260 reação de retorno no seu código J é X; em seguida, faz basicamente a configuração que você sempre 98 00:08:30,260 --> 00:08:35,570 terá ao trabalhar com a navegação de reação mais tarde. como usar vários navegadores em um aplicativo. 99 00:08:35,570 --> 00:08:41,870 A propósito, por enquanto, temos este e exportamos esse componente que é o fim que cria. 100 00:08:41,870 --> 00:08:44,680 Portanto, agora em busca de aplicativos, podemos começar a usar esse componente. 101 00:08:44,720 --> 00:08:56,720 Então, vimos algo na tela para que vamos lá e importe o navegador de refeições do navegador de refeições 102 00:08:56,930 --> 00:08:58,640 de navegação. 103 00:08:58,640 --> 00:09:04,040 Agora, como eu mencionei, o navegador de refeições agora é apenas um componente de reação. No final, o que podemos 104 00:09:04,040 --> 00:09:08,390 fazer é simplesmente retornar isso em vez de retornar nossa visão com o texto aqui. 105 00:09:08,420 --> 00:09:13,550 Retornarei o navegador de refeições e, como é um componente de reação, posso simplesmente usar 106 00:09:13,550 --> 00:09:18,020 o código de J Isaac assim com o papai, se salvarmos isso. 107 00:09:18,160 --> 00:09:20,890 Analisamos nosso aplicativo enquanto ele é recarregado 108 00:09:24,290 --> 00:09:27,040 e você pode precisar recarregar manualmente seu aplicativo. 109 00:09:27,040 --> 00:09:33,490 Você deve ver a tela de categorias uma vez recarregada e, claro, isso é enorme, porque isso significa 110 00:09:34,000 --> 00:09:35,360 que isso funciona. 111 00:09:35,440 --> 00:09:41,710 Agora, observe também que todos, por padrão, obtêm um bom cabeçalho que tem a plataforma padrão para 112 00:09:41,710 --> 00:09:49,180 E / S; é limpo e plano; tem essa linha fina abaixo dele para o Android; é mais dimensional, porque tudo 113 00:09:49,180 --> 00:09:50,720 tem uma leve sombra. 114 00:09:50,770 --> 00:09:55,600 Agora, é claro, está faltando um título e você aprenderá como podemos adicionar um neste módulo, 115 00:09:55,600 --> 00:10:01,450 mas tiramos isso da caixa e isso automaticamente respeita todos os entalhes que você possa precisar para ficar tão longe 116 00:10:01,450 --> 00:10:07,060 quanto você tem aqui, para que ele use automaticamente tal visualização de área segura e isso é tudo o 117 00:10:07,060 --> 00:10:12,520 que mencionei no último módulo do curso enquanto você tem esse componente e, às vezes, é necessário, por exemplo, 118 00:10:12,520 --> 00:10:19,360 ao criar um aplicativo com navegação de reação, a navegação de reação já agrupa suas visualizações em uma visualização de área segura, pelo 119 00:10:19,360 --> 00:10:24,430 menos muito do trabalho que você teria que fazer, caso contrário, garantirá que o cabeçalho tenha boa 120 00:10:24,430 --> 00:10:29,890 aparência e isso é importante, porque criar manualmente um cabeçalho com boa aparência em todos os dispositivos é 121 00:10:29,890 --> 00:10:31,650 realmente um pouco de trabalho. 122 00:10:31,840 --> 00:10:33,210 Então é isso que chegamos aqui. 123 00:10:33,220 --> 00:10:36,550 A questão óbvia agora é como podemos alcançar nossas outras telas.