1 00:00:02,170 --> 00:00:10,580 Agora sabemos como podemos armazenar e buscar dados, é claro em nosso aplicativo, mas também podemos editar e excluir dados. 2 00:00:10,690 --> 00:00:15,760 Então, vamos garantir que isso funcione bem e, para isso, 3 00:00:16,360 --> 00:00:26,320 voltarei às minhas ações e, no arquivo de ações dos produtos, temos nosso criador de ações de atualização do produto aqui. 4 00:00:26,360 --> 00:00:31,050 Agora, como antes, agora mudarei isso para retornar a expedição assíncrona e, 5 00:00:31,340 --> 00:00:39,440 no final, lá, despachar esta ação aqui, então mova-a para lá e chame a função de expedição aqui, que estamos recebendo 6 00:00:39,440 --> 00:00:42,250 via Redux Thunk e antes de 7 00:00:42,470 --> 00:00:47,420 Para isso, agora podemos chegar ao servidor e atualizar nossos dados lá. 8 00:00:47,470 --> 00:00:55,010 Agora que será bem simples, podemos usar novamente a sintaxe de create product, isto aqui, para que apenas a solicitação de 9 00:00:55,010 --> 00:01:02,390 busca seja suficiente aqui e faça isso antes de despacharmos, graças a aguardar, aguardaremos isso porque essa despacho funciona de forma 10 00:01:02,390 --> 00:01:07,610 invisível é envolvido no então bloqueado que pertence a esta promessa, mas precisamos ajustar 11 00:01:07,610 --> 00:01:09,010 essa solicitação, o 12 00:01:09,020 --> 00:01:15,050 URL, por exemplo, não está totalmente correto, aponta para o produto, mas agora queremos apontar para um 13 00:01:15,080 --> 00:01:20,990 produto específico, o único produto que queremos atualizar. Portanto, usarei uma sintaxe Javascript diferente aqui 14 00:01:20,990 --> 00:01:26,960 com marcas de retorno em vez de aspas simples, que ainda criam uma sequência, mas 15 00:01:26,960 --> 00:01:33,980 uma sequência na qual eu posso facilmente inserir dados dinâmicos e adicionarei um novo segmento depois dos produtos antes. json e agora podemos injetar dados com essa sintaxe $ \ e isso é Javascript baunilha, 16 00:01:33,980 --> 00:01:40,970 não específico para React Native, é apenas Javascript e aqui quero adicionar meu ID, para 17 00:01:41,030 --> 00:01:48,850 que no final eu direcione essa URL e, em seguida, o nó de produtos e então esse ID. Obviamente, se você estiver usando uma API diferente, o Firebase os URLs para os quais você deve enviar 18 00:01:48,880 --> 00:01:55,630 sua solicitação serão diferentes. Você deverá ter 19 00:01:55,660 --> 00:02:01,810 uma documentação da API que informe quais URLs são aceitos ou se você está 20 00:02:01,810 --> 00:02:07,810 escrevendo sua própria API. definitivamente deve saber para onde você pode enviar solicitações. É assim que o Firebase deseja e o método agora para atualização também não deve ser 21 00:02:07,810 --> 00:02:13,270 publicado, mas sim corrigido ou colocado. O Put substituirá totalmente o 22 00:02:13,300 --> 00:02:20,980 recurso pelos novos dados, o patch o atualizará nos 23 00:02:20,980 --> 00:02:27,130 locais em que você diz para atualizá-lo e é isso que eu quero aqui. Também preciso adicionar meus cabeçalhos e agora também adicionar um corpo com o título, a descrição e o imageUrl, 24 00:02:27,130 --> 00:02:34,270 mas é claro que não com o preço, porque não 25 00:02:34,270 --> 00:02:38,240 estamos recebendo isso e não queremos tocar nisso e isso enviará a 26 00:02:38,980 --> 00:02:45,110 solicitação em que O Firebase alterará automaticamente apenas esses campos no produto com esse ID que estamos segmentando. Agora, na verdade, não preciso armazenar a resposta de forma constante, porque não me 27 00:02:45,110 --> 00:02:51,390 importo com isso, de qualquer forma, 28 00:02:51,390 --> 00:02:56,880 é importante esperarmos que isso termine e, com isso, devemos ser bons. Se agora salvarmos isso e formos aqui para administrar e começar a editar isso e, talvez, adicionar 29 00:02:56,880 --> 00:03:05,640 um ponto de exclamação aqui e, em seguida, importante, clique em algum outro 30 00:03:05,640 --> 00:03:12,540 lugar para que este seja recuperado devido à nossa lógica de formulário e envie seus novos dados e, em seguida, clique nessa 31 00:03:12,540 --> 00:03:19,140 marca de seleção, somos levados de volta e vemos uma camisa branca aqui, também vemos isso no Firebase, então está funcionando. Então é assim que podemos atualizar os dados, e agora a exclusão? Para isso, vamos voltar para nossas ações e, para excluir, temos nosso 32 00:03:19,140 --> 00:03:25,620 criador de ações. Agora, como antes, 33 00:03:25,620 --> 00:03:32,550 retornei aqui como função assíncrona 34 00:03:32,580 --> 00:03:40,250 que recebe despacho como argumento e, nessa função, despachamos, no final, essa ação 35 00:03:40,250 --> 00:03:48,360 que atinge nosso redutor e, antes de alcançá-lo, podemos novamente enviar uma solicitação. Pedido que se parece com isso, vou copiar esta parte aqui, não me importo com a 36 00:03:48,360 --> 00:03:56,950 resposta realmente, apenas assim, aguarde a busca. Agora, o URL está errado, assim como para atualizar, quero adicionar meu 37 00:03:56,950 --> 00:04:04,240 ID lá, portanto, utilizarei back ticks para que eu possa 38 00:04:04,400 --> 00:04:10,900 usar essa sintaxe de injeção novamente e adicionar o ID do produto aqui, enviar uma solicitação de exclusão e 39 00:04:11,350 --> 00:04:17,790 vencemos precisamos definir um cabeçalho porque também não teremos um corpo, para que possamos nos livrar de tudo isso, 40 00:04:17,790 --> 00:04:23,140 apenas o método é importante e que aguardamos e, portanto, agora, também devemos excluir dados. Podemos dar uma olhada rápida nisso, se eu criar um novo produto fictício que eu possa excluir facilmente 41 00:04:23,140 --> 00:04:28,570 sem perder muito, assim, se eu salvar, se eu 42 00:04:28,570 --> 00:04:35,500 clicar em excluir aqui, clique em sim, ele foi aqui e também vimos por fração de segundo aqui, ele também foi excluído no Firebase. Então é assim que podemos atualizar 43 00:04:35,860 --> 00:04:43,210 e excluir também.