1 00:00:02,130 --> 00:00:06,200 Teraz, oczywiście, podczas przechowywania zamówienia, byłoby również miło, gdybyśmy zobaczyli 2 00:00:06,210 --> 00:00:11,640 mały spinner, kiedy klikamy przycisk zamówienia teraz, dopóki nie zostanie to zrobione i możemy 3 00:00:11,640 --> 00:00:16,030 to również wdrożyć, wystarczy przejść do ekranu koszyka, który jest gdzie 4 00:00:16,050 --> 00:00:20,800 wysyłamy tę akcję, aby wysłać zamówienie, tutaj wysyłamy, a teraz wysyłamy tutaj, 5 00:00:20,970 --> 00:00:29,020 oczywiście, w końcu zwraca obietnicę, właśnie dlatego, że usuwamy z koszyka, co ma miejsce po kliknięciu tego przycisku i zamówienie, dodaj 6 00:00:29,020 --> 00:00:33,580 zamówienie zwróci obietnica ostatecznie dzięki naszej zmianie, więc wysyłka zwróci obietnicę, 7 00:00:33,580 --> 00:00:36,780 więc tutaj możemy kontrolować nasz stan załadunku. 8 00:00:36,940 --> 00:00:41,590 Teraz, aby uczynić to trochę bardziej czytelnym, przeniosę go tutaj z tej 9 00:00:41,590 --> 00:00:46,150 anonimowej funkcji i faktycznie utworzę nową funkcję przechowywaną w stałej 10 00:00:46,160 --> 00:00:53,590 tutaj w moim komponencie, ale poza drzewem jsx, i nazwiemy tę funkcję obsługi zamówienia wysyłania lub nic podobnego. 11 00:00:53,660 --> 00:00:56,440 To była ta sama funkcja, której 12 00:00:56,510 --> 00:01:04,520 użyłem wcześniej, teraz będę miał to na uwadze do obsługi wysyłania zleceń, a teraz pomysł jest prosty, tutaj dodaj zamówienie zwróci 13 00:01:04,520 --> 00:01:10,400 obietnicę, jak powiedziałem, dlatego wysyłka zwraca obietnicę, więc możemy tutaj dodać asynchronię, aby że możemy 14 00:01:10,400 --> 00:01:16,440 ponownie użyć asynchronizacji, czekać i zarządzać ładowaniem, a być może także stanem błędu, tak jak poprzednio. 15 00:01:16,460 --> 00:01:23,940 Musimy tylko zaimportować stan użytkowania z React i oczywiście dlatego ponownie zainicjować nasz stan. 16 00:01:23,940 --> 00:01:33,150 Mamy tutaj isLoading i ustawiliśmy isLoading, a początkowo to fałsz, a jeśli chcesz, czego nie zrobię tutaj, ale jeśli chcesz, możesz również 17 00:01:33,150 --> 00:01:33,800 dodać 18 00:01:33,810 --> 00:01:39,810 obsługę błędów w taki sam sposób, jak to robiliśmy wcześniej z błędem stanu, może użyć 19 00:01:39,810 --> 00:01:43,610 efektu aby następnie wyświetlić alert i tak dalej, skupię 20 00:01:43,650 --> 00:01:45,530 się na części ładującej. 21 00:01:45,690 --> 00:01:47,970 Więc teraz tutaj, w module 22 00:01:48,000 --> 00:01:50,970 obsługi wysyłania zamówień, wywołam set isLoading i ustawię 23 00:01:51,210 --> 00:01:56,610 to na true, wtedy czekamy na tę wysyłkę, więc czekamy, aż ta obietnica się 24 00:01:56,610 --> 00:02:02,760 skończy i znowu to po prostu niewidocznie owija części w późniejszy blok, ponieważ później I ustawimy 25 00:02:02,760 --> 00:02:04,290 ładowanie z powrotem 26 00:02:04,290 --> 00:02:10,160 na false, nie ładujemy się już i teraz możemy użyć tego, aby wyświetlić wskaźnik aktywności. 27 00:02:10,250 --> 00:02:19,880 Więc zaimportujmy wskaźnik aktywności z React Native tutaj, a to, co chcę zrobić, jest tutaj zamiast 28 00:02:19,910 --> 00:02:22,170 tego przycisku zamówienia 29 00:02:22,190 --> 00:02:30,320 teraz, chcę pokazać ten wskaźnik podczas ładowania. Więc tutaj mogę sprawdzić, czy isLoading jest prawdziwy, w 30 00:02:30,320 --> 00:02:40,100 takim przypadku pokażę mój wskaźnik aktywności z rozmiarem powiedzmy małym i kolorem kolorów, które musisz upewnić się, że jest importowane, podstawowe 31 00:02:40,150 --> 00:02:45,200 i samo zamykające się a jeśli nie ładujemy, to oczywiście 32 00:02:45,240 --> 00:02:47,260 pokażę ten przycisk. 33 00:02:47,340 --> 00:02:53,690 Więc tutaj chcę wyrenderować ten przycisk w innym przypadku i teraz spróbujmy. 34 00:02:53,720 --> 00:02:55,370 Zapiszmy to, dodajmy 35 00:02:55,430 --> 00:02:59,030 to do karty może dwa razy, kliknij teraz 36 00:02:59,150 --> 00:03:06,560 zamówienie, zobaczyliśmy pokrętło na ułamek sekundy tutaj i teraz, jeśli spojrzymy na zamówienia, oto nasze zamówienie. 37 00:03:06,560 --> 00:03:10,250 Teraz upewnijmy się, że zamówienia ładują się również podczas odwiedzania ekranu.