1 00:00:02,250 --> 00:00:07,800 Quindi ora per finire in questo modulo, voglio assicurarmi di salvare anche gli ordini su un server 2 00:00:07,800 --> 00:00:10,530 e, naturalmente, che li prendiamo anche da lì. 3 00:00:10,540 --> 00:00:16,810 Ora abbiamo il creatore dell'azione degli ordini qua e là, possiamo ancora approfittare di Redux Thunk e restituire la 4 00:00:16,810 --> 00:00:22,780 nostra funzione qui, che ottiene quella funzione di invio, che dovrebbe essere asincrona con la parola chiave 5 00:00:22,810 --> 00:00:25,280 asincrona in modo da poter usare async 6 00:00:25,570 --> 00:00:32,110 wait e in quella funzione qui che restituiamo, alla fine ovviamente spedirò il mio oggetto azione ma prima di farlo, 7 00:00:32,110 --> 00:00:38,320 ora possiamo inviare una richiesta per archiviare quell'ordine su un server e possiamo prendere in prestito quella richiesta 8 00:00:38,320 --> 00:00:41,650 dal creatore dell'azione prodotti. Non c'è davvero una 9 00:00:41,710 --> 00:00:46,930 grande differenza se creiamo un prodotto o quell'ordine, quindi possiamo copiare l'intero codice di 10 00:00:46,930 --> 00:00:59,170 creazione del prodotto qui fino a qui e spostarlo negli ordini. file js. 11 00:00:59,180 --> 00:01:00,450 Ora, ovviamente, puoi anche aggiungere 12 00:01:00,470 --> 00:01:05,530 la gestione degli errori qui, non lo sto avendo qui, una cosa che voglio almeno aggiungere è che non 13 00:01:05,540 --> 00:01:07,880 ottengo un controllo se la risposta non è ok 14 00:01:07,880 --> 00:01:13,130 nel qual caso voglio per lanciare un nuovo errore, qualcosa è andato storto, ma questo non dovrebbe essere l'obiettivo qui 15 00:01:13,130 --> 00:01:14,500 perché abbiamo coperto la gestione 16 00:01:14,510 --> 00:01:16,410 degli errori e il caricamento dei filatori, 17 00:01:16,440 --> 00:01:20,420 non proprio la parte su cui voglio concentrarmi qui, ma assicuriamoci di inviare questa richiesta 18 00:01:20,450 --> 00:01:21,080 al 19 00:01:21,110 --> 00:01:25,150 indirizzo giusto e che non dovrebbe essere il nodo dei prodotti ma diciamo il nodo 20 00:01:25,520 --> 00:01:32,260 degli ordini che senso ha senso immagino perché vogliamo archiviare i nostri ordini. Forse vogliamo anche memorizzare i nostri ordini specifici per quell'utente in modo da poterlo archiviare in 21 00:01:32,260 --> 00:01:38,740 / ordini / U1 che è il mio ID utente fittizio che presumo qui. In seguito sarà diverso, in seguito avremo 22 00:01:38,740 --> 00:01:42,040 un ID reale qui, un ID dinamico, per ora 23 00:01:42,040 --> 00:01:48,350 cerchiamo di codificarlo qui in modo da avere una sottocartella, una sottocartella per utente in seguito. 24 00:01:48,610 --> 00:01:53,980 Dovrebbe essere una richiesta post perché stiamo aggiungendo, stiamo aggiungendo alcuni nuovi dati, stiamo aggiungendo un nuovo ordine. 25 00:01:53,980 --> 00:01:55,360 Questa intestazione deve essere impostata e ovviamente 26 00:01:55,360 --> 00:01:58,170 i dati che stiamo inviando sono diversi però. Lì voglio inviare 27 00:01:58,210 --> 00:02:05,020 gli articoli della mia carta e il mio importo totale e un'altra cosa importante, la data dell'ordine. 28 00:02:05,890 --> 00:02:12,820 Voglio inviare la mia data qui convertita in una stringa con toISOString sull'oggetto data in modo da 29 00:02:12,820 --> 00:02:17,530 crearla localmente nell'app e quindi salvare il timestamp sul server. 30 00:02:17,530 --> 00:02:22,180 Ora nella tua app, potresti anche voler fare quella data di creazione sul server ma poiché 31 00:02:22,180 --> 00:02:27,100 questo corso non dovrebbe concentrarsi sulla programmazione lato server, lo faremo semplicemente qui e lo invieremo al 32 00:02:27,100 --> 00:02:29,450 server senza preoccuparci troppo cos'altro potrebbe fare 33 00:02:29,530 --> 00:02:34,500 un server per noi, invece facciamo tutte le cose qui e inviamo semplicemente il timestamp finito al server. 34 00:02:34,570 --> 00:02:40,300 Ora questo aggiungerà un ordine qui e una volta terminato, recupereremo i nostri dati di 35 00:02:40,330 --> 00:02:46,090 risposta che includeranno quell'ID generato automaticamente se ricordi, lo abbiamo fatto anche sulla creazione del prodotto. 36 00:02:46,090 --> 00:02:51,820 Quindi ora, quando aggiungiamo un ordine, ovviamente inoltriamo i nostri articoli e l'importo, ma ora voglio anche 37 00:02:51,820 --> 00:02:55,990 inoltrare l'ID che ottengo da resData. nome, è la stessa logica 38 00:02:56,170 --> 00:03:02,710 che abbiamo usato quando abbiamo creato un prodotto e c'è un'altra cosa, la mia istantanea della data ovviamente 39 00:03:02,710 --> 00:03:05,040 dovrebbe essere la stessa creata qui. 40 00:03:05,050 --> 00:03:14,010 Quindi in realtà quello che farò è che creerò la mia istantanea qui, la data con una nuova data e quindi userò questa costante qui per creare 41 00:03:14,010 --> 00:03:20,840 la mia versione di stringa e userò la stessa costante qui per inoltrarla con i dati del mio ordine. 42 00:03:20,850 --> 00:03:23,730 Quindi qui la data si riferisce a questa costante 43 00:03:23,730 --> 00:03:29,400 di data, in modo che io utilizzi lo stesso timestamp, sia localmente nei miei dati gestiti con Redux che 44 00:03:29,400 --> 00:03:35,670 sono i dati con cui lavoro qui in questa app in esecuzione e ovviamente hanno anche lo stesso timestamp sul server quali 45 00:03:35,670 --> 00:03:41,880 sono i dati che caricherò in futuro o altri dispositivi caricheranno. E ora dobbiamo solo lavorare sul 46 00:03:41,900 --> 00:03:45,500 riduttore degli ordini per aggiungere un ordine. 47 00:03:45,500 --> 00:03:48,450 L'ID ora è qualcosa che ottengo dall'esterno, 48 00:03:48,470 --> 00:03:52,910 quindi qui ho orderData. Id perché è quello che 49 00:03:52,940 --> 00:03:58,700 stiamo inoltrando qui, è che ID Firebase generato automaticamente ci dà e la data 50 00:03:58,910 --> 00:04:06,100 viene ricevuta anche dall'esterno, qui ora possiamo usare orderData. data in questo modo e con ciò, abbiamo tutta la logica 51 00:04:06,250 --> 00:04:07,600 per aggiungere un ordine. 52 00:04:07,630 --> 00:04:14,710 Ora torniamo qui e aggiungiamo questo al carrello e facciamo clic su Ordina ora, questo sembra funzionare, se torniamo ora 53 00:04:14,740 --> 00:04:20,890 vediamo un nodo ordini qui su Firebase con una sottocartella U1 per il nostro utente con l'ID 54 00:04:20,890 --> 00:04:27,400 univoco generato e lì, i dati dell'ordine con il timestamp con il prezzo, con gli elementi della carta che 55 00:04:27,400 --> 00:04:31,570 era questa camicia bianca e che non sembra affatto male direi.