1 00:00:02,130 --> 00:00:06,200 Agora, é claro, ao armazenar um pedido, também seria bom vermos um 2 00:00:06,210 --> 00:00:11,640 pequeno botão giratório aqui quando clicamos no botão agora até que isso seja feito e que possamos 3 00:00:11,640 --> 00:00:16,030 implementá-lo também, basta ir para a tela do carrinho, que é onde despachamos 4 00:00:16,050 --> 00:00:20,800 esta ação para enviar um pedido, aqui despachamos e agora despachamos aqui, é claro, retorna 5 00:00:20,970 --> 00:00:29,020 uma promessa no final, exatamente porque remover do carrinho, que é o caso quando clicamos nesse botão e, em seguida, encomendar, adicionar pedido retornará um 6 00:00:29,020 --> 00:00:33,580 promessa no final, graças à nossa alteração; portanto, a expedição retornará uma promessa; portanto, 7 00:00:33,580 --> 00:00:36,780 é aqui que podemos controlar nosso estado de carregamento. 8 00:00:36,940 --> 00:00:41,590 Agora, para tornar isso um pouco mais legível, vou removê-la dessa função 9 00:00:41,590 --> 00:00:46,150 anônima aqui e criar uma nova função armazenada em uma 10 00:00:46,160 --> 00:00:53,590 constante aqui no meu componente, mas fora da árvore jsx, e chamarei esse manipulador de pedidos ou algo assim. 11 00:00:53,660 --> 00:00:56,440 Essa é a mesma função que eu usei 12 00:00:56,510 --> 00:01:04,520 antes, agora vou me importar com o manipulador de pedidos de envio e agora a idéia é simples: adicionar ordem retornará uma promessa como 13 00:01:04,520 --> 00:01:10,400 eu disse, despacho, portanto, retorna uma promessa, para que possamos adicionar assíncrono aqui, para que podemos usar 14 00:01:10,400 --> 00:01:16,440 novamente o async aguardam e gerenciam o carregamento e, possivelmente, também o estado de erro, como fizemos anteriormente. 15 00:01:16,460 --> 00:01:23,940 Então, precisamos apenas importar o estado de uso do React e, é claro, inicializar nosso estado novamente. 16 00:01:23,940 --> 00:01:33,150 Então, aqui temos isLoading e definimos isLoading e, inicialmente, isso é falso, e se você quiser, o que eu não vou fazer aqui, mas se você quiser, também 17 00:01:33,150 --> 00:01:33,800 poderá 18 00:01:33,810 --> 00:01:39,810 adicionar tratamento de erros da mesma maneira que fizemos antes com o uso de erro de estado, talvez use 19 00:01:39,810 --> 00:01:43,610 o efeito para mostrar um alerta e assim por diante, vou 20 00:01:43,650 --> 00:01:45,530 me concentrar na parte de carregamento. 21 00:01:45,690 --> 00:01:47,970 Portanto, agora aqui no 22 00:01:48,000 --> 00:01:50,970 manipulador de pedidos de envio, chamarei 23 00:01:51,210 --> 00:01:56,610 set isLoading e defina-o como true. Aguardamos esse despacho. Aguardamos até 24 00:01:56,610 --> 00:02:02,760 que essa promessa seja concluída. configurará o carregamento de volta para false, 25 00:02:02,760 --> 00:02:04,290 não estamos 26 00:02:04,290 --> 00:02:10,160 mais carregando e agora podemos usá-lo para mostrar um indicador de atividade. 27 00:02:10,250 --> 00:02:19,880 Então, vamos importar o indicador de atividade do React Native aqui e o que eu quero fazer é aqui, em 28 00:02:19,910 --> 00:02:22,170 vez do botão ordem 29 00:02:22,190 --> 00:02:30,320 agora, quero mostrar esse indicador enquanto estou carregando. Portanto, aqui posso verificar se isLoading é verdadeiro, se for o 30 00:02:30,320 --> 00:02:40,100 caso, mostrarei meu indicador de atividade com um tamanho digamos pequeno e uma cor de cores, que você precisa ter certeza de que é importado, 31 00:02:40,150 --> 00:02:45,200 primário e que fecha automaticamente caso contrário, se não estivermos carregando, então mostrarei 32 00:02:45,240 --> 00:02:47,260 este botão, é claro. 33 00:02:47,340 --> 00:02:53,690 Então, aqui eu quero renderizar esse botão no caso else e agora vamos tentar. 34 00:02:53,720 --> 00:02:55,370 Vamos salvar isso, adicione 35 00:02:55,430 --> 00:02:59,030 isso ao cartão talvez duas vezes, clique em pedir agora, vimos 36 00:02:59,150 --> 00:03:06,560 o botão giratório por uma fração de segundo aqui e agora, se dermos uma olhada nos pedidos, aqui está o nosso pedido. 37 00:03:06,560 --> 00:03:10,250 Agora vamos garantir que os pedidos também sejam carregados quando visitarmos a tela.