1 00:00:02,350 --> 00:00:15,370 Então, quando visitamos nossa área de administração e queremos adicionar um novo produto, obtemos essa área aqui. 2 00:00:15,430 --> 00:00:18,460 Recebemos esse erro que obter param não é uma função. 3 00:00:18,460 --> 00:00:28,270 E, de fato, com a reativação, a função get get days do dia cinco você usaria para obter os parâmetros para que 4 00:00:28,270 --> 00:00:31,600 uma determinada ação de navegação fosse removida. 5 00:00:31,600 --> 00:00:35,170 Então, vamos ver o que mais podemos fazer por isso. 6 00:00:35,170 --> 00:00:41,800 Vamos para a tela de produto adicionado, que é a tela que estamos tentando visitar, 7 00:00:41,890 --> 00:00:50,700 que falha aqui e certamente usamos get param aqui, mas também aqui no componente principal da tela de produto adicionado. 8 00:00:50,850 --> 00:00:55,740 Agora, com a reativação 5, não há mais a função get param. 9 00:00:55,770 --> 00:01:03,060 Em vez disso, agora existe um novo suporte além do suporte de navegação, que você ainda precisa executar determinadas ações, como navegar para 10 00:01:03,060 --> 00:01:09,390 longe, mas agora você tem um novo suporte de baleia Bill, que é o suporte principal que ele não estava 11 00:01:09,390 --> 00:01:10,310 disponível antes. 12 00:01:10,320 --> 00:01:17,490 Agora, existe agora neste objeto raiz que você terá apenas a chave dos pais. 13 00:01:17,490 --> 00:01:23,820 Pais não conseguem pais, não é uma função, é apenas uma chave chamada pais que mantém um objeto com 14 00:01:23,850 --> 00:01:28,340 todos os seus pais que você está recebendo como pares de valores-chave. 15 00:01:28,350 --> 00:01:32,310 Portanto, aqui podemos extrair convenientemente o pai que queremos obter. 16 00:01:32,310 --> 00:01:35,940 Então, antes que eu quisesse adquirir o produto I. D. param. 17 00:01:35,970 --> 00:01:41,980 Então agora acessamos o produto I. de perms da rota adereços D. e isso deve funcionar. 18 00:01:42,150 --> 00:01:47,000 Agora, dependendo do seu aplicativo, talvez você nem sempre esteja obtendo um valor para esse parâmetro. 19 00:01:47,010 --> 00:01:53,970 Portanto, às vezes, pode ser indefinido e, por esse motivo, é possível que todos possam verificar se 20 00:01:54,240 --> 00:01:59,100 isso é nulo ou se é indefinido antes de tentar usá-lo. 21 00:01:59,110 --> 00:02:08,680 Agora, quando se trata de definir os pais que também estavam usando aqui neste componente, isso ainda existe, mas 22 00:02:08,710 --> 00:02:13,770 pelo motivo de usá-lo aqui, não precisamos mais usá-lo. 23 00:02:13,840 --> 00:02:20,650 Aqui estávamos usando-o como uma solução alternativa para Q. Basicamente, obtenha dados de nosso corpo de componente. 24 00:02:20,650 --> 00:02:25,960 Então, de dentro da nossa função componente para as opções de navegação lá em baixo. 25 00:02:25,960 --> 00:02:26,280 Certo. 26 00:02:26,290 --> 00:02:33,130 A função de envio e também aqui o nosso produto I. D. estávamos extraindo esses dados agora 27 00:02:33,130 --> 00:02:38,710 para o produto I. D. tudo bem, porque é uma informação específica da rota geral 28 00:02:38,710 --> 00:02:39,580 em que estamos interessados. 29 00:02:39,800 --> 00:02:45,430 Ainda podemos extrair assim, mas levar a função do nosso componente para as opções de 30 00:02:45,460 --> 00:02:51,460 navegação, como fizemos antes, era realmente um pouco hacky e não exatamente como queremos fazer isso. 31 00:02:51,460 --> 00:02:56,640 Agora, por enquanto, manterei a mesma abordagem de antes, mas uma coisa precisa mudar. 32 00:02:56,650 --> 00:02:58,610 Não temos mais param. 33 00:02:58,700 --> 00:03:06,040 Em vez disso, os dados de navegação são um objeto que também possui esse novo objeto raiz, para que 34 00:03:06,280 --> 00:03:15,910 possamos acessar os dados de navegação ponto raiz ponto perms ponto envio e obter a função de envio como esta e a mesma lá em baixo. 35 00:03:15,920 --> 00:03:24,280 Aqui temos as pirâmides de pontos raiz do ponto. D. assim com isso tudo fora do caminho. 36 00:03:24,280 --> 00:03:33,250 Se agora salvarmos isso, isso será reconstruído aqui e, sendo reconstruído, se for agora para o administrador novamente e clicar neste ícone, recebo 37 00:03:33,250 --> 00:03:40,500 um erro que indefinido não é um objeto ao tentar avaliar o envio de permissões de raiz de 38 00:03:40,510 --> 00:03:41,770 dados de navegação. 39 00:03:42,310 --> 00:03:44,920 Então, o que há de errado aí? 40 00:03:44,950 --> 00:03:53,230 O problema que estamos enfrentando aqui é que os pais nem sempre são definidos se essa tela é carregada sem pais, como é o caso 41 00:03:53,230 --> 00:03:58,870 quando estamos no modo de produto do anúncio, o que estamos se apenas clicamos nesse botão no 42 00:03:58,870 --> 00:04:00,400 canto superior direito canto. 43 00:04:00,430 --> 00:04:07,270 Portanto, se não houver pais transmitidos para a tela, toda essa chave de pais aqui será indefinida como um 44 00:04:07,270 --> 00:04:07,750 valor. 45 00:04:07,780 --> 00:04:10,590 Ele não contém um objeto vazio sem os pais. 46 00:04:10,740 --> 00:04:12,730 Ele próprio é indefinido. 47 00:04:13,090 --> 00:04:14,730 Portanto, é importante ter isso em mente. 48 00:04:14,800 --> 00:04:19,020 Os próprios pais serão indefinidos se não houver pais. 49 00:04:19,090 --> 00:04:25,810 E se estamos abrindo essa tela para adicionar um produto, de fato, não há pais inicialmente, este parâmetro de envio 50 00:04:25,870 --> 00:04:30,410 não é definido inicialmente porque isso é feito apenas de dentro do componente. 51 00:04:30,430 --> 00:04:36,280 Então, após a tela ter sido carregada e o produto I. D. definitivamente não está definido porque não estamos editando, 52 00:04:36,310 --> 00:04:37,000 mas adicionando. 53 00:04:37,000 --> 00:04:42,640 Portanto, não há produto I. D. alimentado nesta tela quando navegamos até ela. 54 00:04:42,670 --> 00:04:46,540 Então, como podemos garantir que não estamos recebendo um erro? 55 00:04:46,540 --> 00:04:52,240 Bem, simplesmente temos que verificar se os próprios pais estão definidos ou não. 56 00:04:52,240 --> 00:04:56,460 E poderíamos fazer isso aqui reescrevendo isso. 57 00:04:56,530 --> 00:05:03,670 Então, primeiro tentamos acessar os pais e depois usamos isso como uma condição em uma expressão ternária e dizemos se 58 00:05:03,670 --> 00:05:07,320 os dados são verdadeiros, e somente se forem definidos. 59 00:05:07,510 --> 00:05:15,260 Portanto, se for realmente, queremos tentar acessar os envios dos pais, porque sabemos que os pais pelo menos não 60 00:05:15,260 --> 00:05:19,160 estão na busca e definirão a função de envio. 61 00:05:19,160 --> 00:05:23,810 Agora, digamos que podemos repetir esse dia ou dois para o título do cabeçalho. 62 00:05:23,870 --> 00:05:26,320 Agora já temos uma expressão ternária aqui. 63 00:05:26,360 --> 00:05:32,600 Podemos aninhar essas expressões, mas para torná-las um pouco mais legíveis, toda a divisão é feita em várias linhas. 64 00:05:32,690 --> 00:05:41,730 E terei meus pais rudes aqui, onde basicamente verifico se algum dado rude da NAF é uma coisa, se for, 65 00:05:42,330 --> 00:05:47,250 então eu vou guardar os pais nesses pais rudes constantemente. 66 00:05:47,250 --> 00:05:49,550 Caso contrário, eu configurarei isso para um objeto vazio. 67 00:05:49,560 --> 00:05:56,400 Digamos que agora, ao fazer isso, possamos usar pais rudes aqui e agora seja como um objeto vazio; nesse caso, 68 00:05:56,400 --> 00:06:02,250 possamos acessar o produto I. D. sem erro, mas ficaremos indefinidos, 69 00:06:02,250 --> 00:06:06,090 portanto, estaremos no modo de produto ou se os pais forem encontrados. 70 00:06:06,090 --> 00:06:12,360 Depois, definirei o objeto dos pais reais como um valor para pais rudes e, em seguida, acessamos os objetos dos pais 71 00:06:12,360 --> 00:06:13,240 reais lá. 72 00:06:13,260 --> 00:06:18,900 Portanto, em todos os casos, isso não deve falhar e podemos fazer algo semelhante no componente, claro, querida, 73 00:06:18,930 --> 00:06:20,820 também tentamos agir como nossos pais. 74 00:06:21,150 --> 00:06:24,430 Portanto, aqui também devemos verificar se isso é realmente verdade. 75 00:06:24,570 --> 00:06:31,590 Se estiver definido e se estiver, então direcionamos os pais e, caso contrário, as idéias de produtos definidas como NULL. 76 00:06:31,590 --> 00:06:33,670 Portanto, esta é uma maneira de como você poderia resolver isso. 77 00:06:33,690 --> 00:06:41,960 E se agora protegermos e recarregarmos esse aplicativo, podemos ir para a tela de administração, clicar neste botão e 78 00:06:42,380 --> 00:06:47,070 carregar esta tela aqui com sucesso para adicionar um produto. 79 00:06:47,180 --> 00:07:00,130 Agora testarei isso rapidamente com um livro, digite a imagem que você está L aqui e um preço aqui e descreva o 80 00:07:00,160 --> 00:07:02,000 livro aqui. 81 00:07:02,220 --> 00:07:09,190 E com isso eu posso enviar isso e isso geralmente funciona aqui é o nosso livro. 82 00:07:09,230 --> 00:07:15,050 Agora clique em editar, carregamos essa tela de edição com os dados do livro para que tudo pareça bom e se 83 00:07:17,480 --> 00:07:19,300 eu excluí Bem, isso não funciona. 84 00:07:19,310 --> 00:07:20,760 Eu recebo um erro aqui. 85 00:07:20,780 --> 00:07:25,430 Teremos que analisar isso, mas pelo menos agora funciona corretamente quando se trata dos pais. 86 00:07:25,700 --> 00:07:32,840 No entanto, mencionei que há uma coisa que podemos melhorar sobre pais rudes, se tivermos um caso como este aqui com a 87 00:07:32,840 --> 00:07:39,110 função de envio em que abusamos dos pais para obter dados do corpo do componente para nossas opções de 88 00:07:39,110 --> 00:07:44,930 navegação, porque com a navegação de reação 5 agora temos uma maneira melhor de conseguir isso.