1 00:00:02,250 --> 00:00:07,800 Dlatego teraz, aby zakończyć ten moduł, chcę mieć pewność, że zapisujemy również zamówienia na serwerze 2 00:00:07,800 --> 00:00:10,530 i oczywiście je również stamtąd ściągamy. 3 00:00:10,540 --> 00:00:16,810 Teraz mamy tutaj kreatora akcji rozkazów i ponownie możemy skorzystać z Redux Thunk i zwrócić 4 00:00:16,810 --> 00:00:22,780 naszą funkcję tutaj, która pobiera tę funkcję wysyłki, która powinna być asynchroniczna ze słowem kluczowym 5 00:00:22,810 --> 00:00:25,280 async, abyśmy mogli używać asynchronicznego oczekiwania 6 00:00:25,570 --> 00:00:32,110 i w tej funkcji tutaj które zwracamy, ostatecznie oczywiście wyślę mój obiekt akcji, ale zanim to 7 00:00:32,110 --> 00:00:38,320 zrobimy, możemy teraz wysłać żądanie przechowywania tego zamówienia na serwerze i możemy pożyczyć je od 8 00:00:38,320 --> 00:00:41,650 twórcy akcji produktu. Nie ma tak naprawdę 9 00:00:41,710 --> 00:00:46,930 dużej różnicy, czy tworzymy produkt, czy to zamówienie, więc możemy skopiować cały kod tworzenia 10 00:00:46,930 --> 00:00:59,170 produktu tutaj aż do tutaj i przenieść go do zamówień. plik js. 11 00:00:59,180 --> 00:01:00,450 Teraz oczywiście możesz dodać 12 00:01:00,470 --> 00:01:05,530 tutaj obsługę błędów, nie mam go tutaj, jedną rzeczą, którą chcę przynajmniej dodać, jest to, że nie dostaję 13 00:01:05,540 --> 00:01:07,880 odpowiedzi, czy odpowiedź nie jest w porządku, w 14 00:01:07,880 --> 00:01:13,130 którym to przypadku chcę aby rzucić nowy błąd, coś poszło nie tak, ale tutaj nie powinno się skupiać, 15 00:01:13,130 --> 00:01:14,500 ponieważ omawialiśmy obsługę błędów i 16 00:01:14,510 --> 00:01:16,410 ładowanie błystek, nie tak naprawdę część, 17 00:01:16,440 --> 00:01:20,420 na której chcę się tutaj skupić, zamiast tego upewnijmy się, że wysyłamy tę prośbę 18 00:01:20,450 --> 00:01:21,080 do 19 00:01:21,110 --> 00:01:25,150 właściwy adres i nie powinien to być węzeł produktów, ale powiedzmy, że jest to 20 00:01:25,520 --> 00:01:32,260 węzeł zamówień, co wydaje się sensowne, ponieważ chcemy przechowywać nasze zamówienia. Być może chcemy również przechowywać nasze zamówienia specyficzne dla tego użytkownika, abyśmy mogli przechowywać je 21 00:01:32,260 --> 00:01:38,740 w / zamówień / U1, który jest moim fałszywym identyfikatorem użytkownika, który tutaj zakładam. Później będzie inaczej, później będziemy mieli 22 00:01:38,740 --> 00:01:42,040 tutaj prawdziwy identyfikator, identyfikator dynamiczny, na razie 23 00:01:42,040 --> 00:01:48,350 po prostu zakodujmy to tutaj, abyśmy mieli jakiś podfolder, jeden podfolder na użytkownika później. 24 00:01:48,610 --> 00:01:53,980 Powinien to być post post, ponieważ dodajemy, dodajemy nowe dane, dodajemy nowe zamówienie. 25 00:01:53,980 --> 00:01:55,360 Ten nagłówek musi być ustawiony i 26 00:01:55,360 --> 00:01:58,170 oczywiście przesyłane przez nas dane są inne. Tam chcę 27 00:01:58,210 --> 00:02:05,020 wysłać moje elementy karty i moją całkowitą kwotę oraz jeszcze jedną ważną rzecz, datę zamówienia. 28 00:02:05,890 --> 00:02:12,820 Chcę przesłać tutaj swoją datę przekonwertowaną na ciąg z toISOString na obiekcie date, abyśmy utworzyli to 29 00:02:12,820 --> 00:02:17,530 lokalnie w aplikacji, a następnie zapisaliśmy znacznik czasu na serwerze. 30 00:02:17,530 --> 00:02:22,180 Teraz w swojej aplikacji możesz również chcieć wykonać tę datę na serwerze, ale ponieważ ten kurs 31 00:02:22,180 --> 00:02:27,100 nie powinien koncentrować się na programowaniu po stronie serwera, zrobimy to tutaj i wyślemy na serwer, nie 32 00:02:27,100 --> 00:02:29,450 martwiąc się zbytnio o co jeszcze mógłby 33 00:02:29,530 --> 00:02:34,500 zrobić dla nas serwer, zróbmy tutaj wszystkie rzeczy i po prostu wyślij ten ukończony znacznik czasu na serwer. 34 00:02:34,570 --> 00:02:40,300 Teraz doda to zamówienie tutaj, a gdy skończymy, odzyskamy dane odpowiedzi, które 35 00:02:40,330 --> 00:02:46,090 będą zawierać automatycznie wygenerowany identyfikator, jeśli pamiętasz, zrobiliśmy to również przy tworzeniu produktu. 36 00:02:46,090 --> 00:02:51,820 Dlatego teraz, kiedy dodajemy zamówienie, oczywiście przekazujemy nasze produkty i kwotę, ale teraz chcę również przekazać 37 00:02:51,820 --> 00:02:55,990 identyfikator, który otrzymuję z resData. nazwa, to ta sama 38 00:02:56,170 --> 00:03:02,710 logika, której używaliśmy podczas tworzenia produktu, i jest jeszcze jedna rzecz, moja migawka z datą powinna 39 00:03:02,710 --> 00:03:05,040 oczywiście być taka sama jak tutaj. 40 00:03:05,050 --> 00:03:14,010 Więc właściwie to, co zrobię, utworzę tutaj migawkę, datę z nową datą, a następnie użyję tej stałej tutaj, aby utworzyć 41 00:03:14,010 --> 00:03:20,840 moją wersję łańcucha i użyję tej samej stałej tutaj, aby przesłać ją z danymi zamówienia. 42 00:03:20,850 --> 00:03:23,730 Więc tutaj data odnosi się do tej stałej 43 00:03:23,730 --> 00:03:29,400 daty, dzięki czemu używam tego samego znacznika czasu, zarówno lokalnie w moich danych zarządzanych za pomocą Redux, czyli 44 00:03:29,400 --> 00:03:35,670 danych, z którymi pracuję tutaj w tej działającej aplikacji i oczywiście mam ten sam znacznik czasu na serwerze czyli 45 00:03:35,670 --> 00:03:41,880 dane, które załaduję w przyszłości lub inne urządzenia załadują. A teraz musimy tylko popracować 46 00:03:41,900 --> 00:03:45,500 nad reduktorem zamówień, aby dodać zamówienie. 47 00:03:45,500 --> 00:03:48,450 Identyfikator to teraz coś, co otrzymuję z 48 00:03:48,470 --> 00:03:52,910 zewnątrz, więc tutaj mam OrderData. Id, ponieważ właśnie to 49 00:03:52,940 --> 00:03:58,700 przesyłamy tutaj, to automatycznie generowane przez Firebase ID ID, a data jest również 50 00:03:58,910 --> 00:04:06,100 otrzymywana z zewnątrz, tutaj możemy teraz użyć orderData. tak jak teraz i przy tym mamy całą logikę, aby, mam 51 00:04:06,250 --> 00:04:07,600 nadzieję, dodać zamówienie. 52 00:04:07,630 --> 00:04:14,710 Teraz wróćmy tutaj i dodajmy to do koszyka i kliknij teraz zamówienie, to wydaje się działać, jeśli wrócimy, 53 00:04:14,740 --> 00:04:20,890 zobaczymy tutaj węzeł zamówień w Firebase z podfolderem U1 dla naszego użytkownika z wygenerowanym unikalnym 54 00:04:20,890 --> 00:04:27,400 identyfikatorem i tam, dane zamówienia z datownikiem z ceną, z kartami, które były tą jedną białą 55 00:04:27,400 --> 00:04:31,570 koszulą i że wszystko nie wygląda tak źle, powiedziałbym.