1 00:00:02,170 --> 00:00:10,580 Ora sappiamo come possiamo archiviare e recuperare i dati, ovviamente nella nostra app, possiamo comunque modificare ed eliminare i dati. 2 00:00:10,690 --> 00:00:15,760 Quindi assicuriamoci che funzioni anche per questo, tornerò alle 3 00:00:16,360 --> 00:00:26,320 mie azioni e lì, nel file delle azioni dei prodotti, qui abbiamo il nostro creatore dell'azione dei prodotti di aggiornamento. 4 00:00:26,360 --> 00:00:31,050 Ora, proprio come prima, ora cambierò questo per restituire la spedizione asincrona 5 00:00:31,340 --> 00:00:39,440 e poi alla fine, lì dentro, spedire questa azione qui, quindi spostala lì e chiama la funzione di spedizione qui che stiamo 6 00:00:39,440 --> 00:00:42,250 ottenendo tramite Redux Thunk e prima di 7 00:00:42,470 --> 00:00:47,420 noi farlo, ora possiamo raggiungere il server e aggiornare i nostri dati lì. 8 00:00:47,470 --> 00:00:55,010 Ora sarà abbastanza semplice, possiamo solo usare di nuovo la sintassi per creare un prodotto, questo qui, quindi solo la richiesta 9 00:00:55,010 --> 00:01:02,390 di recupero dovrebbe essere sufficiente qui e farlo prima di spedire, grazie ad aspettare aspetteremo questo perché questa funzione di 10 00:01:02,390 --> 00:01:07,610 spedizione è invisibile viene bloccato nel blocco che appartiene a questa promessa, ma dobbiamo 11 00:01:07,610 --> 00:01:09,010 modificare questa richiesta, 12 00:01:09,020 --> 00:01:15,050 l'URL ad esempio non è del tutto corretto, punta al prodotto ma ora vogliamo puntare a 13 00:01:15,080 --> 00:01:20,990 un prodotto specifico, l'unico prodotto che vogliamo aggiornare. Quindi userò qui una diversa sintassi 14 00:01:20,990 --> 00:01:26,960 Javascript con segni di spunta indietro anziché singole virgolette che crea ancora una stringa ma 15 00:01:26,960 --> 00:01:33,980 una stringa in cui posso facilmente inserire dati dinamici e aggiungerò un nuovo segmento dopo i prodotti prima. json e ora possiamo inserire dati con questa sintassi $ \ e questo è Javascript vaniglia, 16 00:01:33,980 --> 00:01:40,970 non specifico di React Native, è solo Javascript e qui voglio aggiungere il mio ID, 17 00:01:41,030 --> 00:01:48,850 in modo che alla fine scelga come target questo URL, quindi il nodo prodotti e quindi questo ID. Ovviamente se stai usando un'API diversa, allora Firebase gli URL a cui devi inviare la richiesta 18 00:01:48,880 --> 00:01:55,630 differiranno, quindi dovresti avere una documentazione 19 00:01:55,660 --> 00:02:01,810 API che ti dice quali URL sono accettati o stai scrivendo la 20 00:02:01,810 --> 00:02:07,810 tua API, quindi tu dovrebbe assolutamente sapere dove è possibile inviare richieste. Ecco come lo vuole Firebase e anche il metodo per l'aggiornamento non dovrebbe essere 21 00:02:07,810 --> 00:02:13,270 post ma patch o put. Put sostituirà completamente la risorsa 22 00:02:13,300 --> 00:02:20,980 con i nuovi dati, la patch lo aggiornerà 23 00:02:20,980 --> 00:02:27,130 nei punti in cui gli dici di aggiornarlo ed è quello che voglio qui. Ho anche bisogno di aggiungere le mie intestazioni e ora aggiungo anche un corpo con il titolo, la 24 00:02:27,130 --> 00:02:34,270 descrizione e imageUrl ma ovviamente non con il prezzo perché 25 00:02:34,270 --> 00:02:38,240 non stiamo ottenendo questo e non vogliamo toccarlo e questo invierà la 26 00:02:38,980 --> 00:02:45,110 richiesta dove Firebase cambierà automaticamente questi campi sul prodotto solo con questo ID a cui ci stiamo rivolgendo. Ora in realtà non ho bisogno di archiviare la risposta in una costante perché 27 00:02:45,110 --> 00:02:51,390 non mi interessa comunque, è solo 28 00:02:51,390 --> 00:02:56,880 importante aspettare che questo si completi e con ciò, dovremmo essere buoni. Se ora lo salviamo e andiamo qui per l'amministrazione e iniziamo a modificarlo e forse aggiungiamo un 29 00:02:56,880 --> 00:03:05,640 punto esclamativo qui e quindi importante, fai clic da qualche altra parte 30 00:03:05,640 --> 00:03:12,540 in modo che questo si riavvii a causa della nostra logica del modulo e invii i suoi nuovi dati e quindi facciamo 31 00:03:12,540 --> 00:03:19,140 clic su questo segno di spunta, siamo ripresi e vediamo una camicia bianca qui, la vediamo anche su Firebase, quindi funziona. Quindi è così che possiamo aggiornare i dati, ora per quanto riguarda l'eliminazione? Per questo torniamo alle nostre azioni e per l'eliminazione, abbiamo il nostro 32 00:03:19,140 --> 00:03:25,620 creatore di azioni. Ora, proprio come 33 00:03:25,620 --> 00:03:32,550 prima, qui sono tornato come funzione asincrona 34 00:03:32,580 --> 00:03:40,250 che riceve l'invio come argomento e dove in questa funzione, alla fine inviamo questa 35 00:03:40,250 --> 00:03:48,360 azione che raggiunge il nostro riduttore e prima di raggiungerla, possiamo inviare nuovamente una richiesta. Richiesta che assomiglia a questa, copierò questa parte qui, non mi interessa davvero la 36 00:03:48,360 --> 00:03:56,950 risposta, proprio così, attendo il recupero. Ora l'URL è sbagliato, proprio come per l'aggiornamento, voglio aggiungere il mio ID lì 37 00:03:56,950 --> 00:04:04,240 dentro, quindi userò i segni di spunta in modo da poter 38 00:04:04,400 --> 00:04:10,900 usare di nuovo questa sintassi di iniezione e aggiungere l'ID del prodotto qui, inviare una richiesta di eliminazione e abbiamo vinto 39 00:04:11,350 --> 00:04:17,790 Non è necessario impostare un'intestazione perché anche noi non avremo un corpo, quindi possiamo sbarazzarci di tutto ciò, solo il metodo 40 00:04:17,790 --> 00:04:23,140 è importante e che attendiamo e quindi ora dovremmo essere in grado di eliminare anche i dati. Possiamo dare una rapida occhiata a questo, se creo un nuovo prodotto fittizio che posso facilmente eliminare senza perdere troppo, 41 00:04:23,140 --> 00:04:28,570 in questo modo, se lo salvo, se faccio clic su 42 00:04:28,570 --> 00:04:35,500 Elimina qui, fai clic su Sì è andato qui e anche lo abbiamo visto per una frazione di secondo qui, è stato anche cancellato su Firebase. Quindi è così che possiamo anche 43 00:04:35,860 --> 00:04:43,210 aggiornare ed eliminare.