Jadi sekarang kita menambahkan penyimpanan, pengambilan, pembaruan, dan penghapusan dan oleh karena itu semua fungsi kasar
dan kita telah melihat menunjukkan pemintalan pemuatan dan penanganan kesalahan, ada
dua hal yang hilang.
Salah satunya adalah ketika kita benar-benar melakukan pemesanan, kita juga mengirim pesanan itu ke server dan kita menyimpan pesanan di sana juga
dan bukan hanya secara lokal karena sekarang
tentu saja ketika kita memesan sesuatu yang kita lihat di sini tetapi segera setelah kami memuat
ulang aplikasi karena kami tidak menyimpannya di server, itu hilang,
jadi itu satu hal.
Hal lain tentu saja kami hanya menampilkan pemintal pemuatan di sini
dan kami juga hanya menangani kesalahan di sini. Pada layar admin jika terjadi kesalahan,
kami tidak mendapatkan kesalahan, juga di sini jika kami mengedit ini dan kami mengirimkan
ini, kami tidak melihat pemuatan pemintal sementara kami menunggu ini dikirimkan.
Jadi itu juga sesuatu yang bisa kita
tingkatkan dan itu sebenarnya bagian yang ingin saya mulai.
Jadi di sini di layar edit produk ketika kami mengirim pembaruan atau membuat, dalam kedua kasus
ini tentu saja membutuhkan waktu dan memang kami mendapatkan kembali janji di sini karena baik dalam pembaruan dan membuat
tindakan produk, kami menggunakan fitur Redux Thunk dari mengembalikan fungsi pengiriman async di sini yang karenanya mengembalikan
janji yang karenanya dikembalikan sebagai bagian dari panggilan fungsi pengiriman kami di sini.
Jadi karena itu kita benar-benar mendapatkan informasi, apakah kita sedang menunggu respons, apakah kita mendapatkan kesalahan
atau apakah kita sudah selesai, kita
hanya perlu menggunakannya dan
tentu saja kita dapat menggunakannya dengan cara yang sama seperti yang kita lakukan sebelumnya, dengan menggunakan status yang diimpor dari Bereaksi
dan kemudian dengan mengelola pemuatan dan status kesalahan di sini. Catatan, Anda tentu saja dapat juga bekerja dengan
peredam di mana Anda menggabungkan kedua negara bersama jika Anda ingin dengan bantuan penggunaan kait peredam.
Namun di sini, saya akan tetap pada isLoading dan mengatur isLoading dan pada awalnya tentu saja ini salah dan juga memiliki kesalahan
dan mengatur variabel kesalahan di sini dengan menggunakan negara seperti ini, yang awalnya tidak terdefinisi dan sekarang kita hanya perlu mengatur ini seperti
kita ' mengirim kembali tindakan atau karena kami mendapatkan kesalahan.
Jadi di sini ketika kita akan mengirimkan ini, tidak peduli apakah kita sedang mengedit atau
jika kita sedang membuat, saya ingin mengatur isLoading menjadi true dan saya juga ingin mengatur kesalahan saya di sini menjadi false atau tidak ke false, ke nol , atur ulang.
Sekarang setelah kita selesai, saya ingin melakukan sesuatu yang lain tetapi untuk itu, kita pertama-tama
harus menunggu pengiriman selesai.
Sekarang karena itu kita dapat mengubah ini menjadi fungsi async lagi, hanya supaya saya dapat menggunakan
untuk menunggu kata kunci di sana, alternatifnya adalah tidak mengubah ini dalam fungsi async dan cukup menambahkan kemudian dan menangkap
setelah itu,
itu akan berfungsi juga tetapi Saya suka menggunakan async, tunggu. Jadi sekarang kita dapat menunggu pengiriman kedua selesai, tentu saja hanya
satu dari dua akan berjalan karena itu adalah kondisi if tetapi kita bisa menunggu itu
selesai dan karena itu setelah blok ini, kita tahu
bahwa akan dilakukan pengiriman jadi di sini kita dapat mengatur isLoading kembali ke false. Jadi itulah status pemuatan, sekarang untuk menangani kesalahan, kita hanya
perlu membungkus ini dengan blok coba tangkap dan kita benar-benar dapat membungkus keseluruhan jika memblokir di sini dengan
try menangkap, jadi mari kita ambil itu, pindahkan di sini dan kemudian menangkap potensi apa pun kesalahan yang mungkin kita
dapatkan di sini dan sekarang di sini, saya tentu saja ingin mengatur kesalahan saya ke kesalahan
yang
saya dapatkan di sini atau ke pesan kesalahan yang saya dapatkan di sini Sekarang kita sedang mengatur kesalahan,
kita sedang mengatur pemuatan negara, tentu saja ini tidak berpengaruh di layar ini. Jadi untuk memperlihatkan pemintal pemuatan, kita perlu mengimpor indikator aktivitas dari
React Native, indikator aktivitas dari React Native
dan untuk menunjukkan kesalahan, saya juga ingin melempar peringatan dan
untuk itu, Anda perlu memastikan bahwa Anda mengimpor peringatan yang sudah kami lakukan. Sekarang sebagai langkah selanjutnya, untuk menangani keadaan memuat, mungkin di sana sebelum saya
mengembalikan formulir saya, saya akan memeriksa apakah isian Memuat benar dan jika ya, saya akan mengembalikan pandangan saya di sini
dengan indikator aktivitas di sana-sini, saya ' akan mengatur ukuran ke besar dan mengatur warna ke warna dan untuk itu, Anda perlu
memastikan bahwa Anda mengimpor warna yang konstan primer. Jadi pastikan Anda memiliki konstanta warna yang diimpor
di sini, itu diperlukan dan sekarang saya juga akan menggunakan stylesheet di sini untuk menambahkan gaya baru, gaya
terpusat ini lebih tepatnya, di sini saya akan menambahkan terpusat dan ya karena itu kami juga
dapat mengalihdayakan ini menjadi pisahkan komponen pembungkus jika Anda mau.
Di sana, saya akan mengatur flex ke satu, membenarkan konten ke pusat dan juga menyelaraskan item ke pusat, seperti ini.
Sekarang kita dapat menerapkan gaya terpusat ini di sini ke tampilan yang saya bungkus di sekitar indikator aktivitas saya dengan
mengatur gaya di sini untuk gaya. terpusat.
Sekarang kita harus melihat ini sementara kita memuat dan sebagai catatan, kita juga sekarang tidak boleh menavigasi kembali sebelum
kita selesai.
Jadi jika saya menambahkan atau jika saya menghapus tanda seru itu dan kemudian meninggalkan input itu sehingga ini disampaikan dan
saya klik simpan,
Anda melihat pemintal pemuatan dan kami hanya menavigasi kembali setelah ini selesai.
Sekarang Firebase sangat cepat tapi tetap saja, itulah yang terjadi.
Sekarang untuk mensimulasikan kesalahan, saya akan pergi ke tindakan produk dan di sana memperbarui produk di sini, saya akan menghapus itu di sini lagi untuk memaksa kesalahan dan saya juga
akan menambahkan sesuatu yang lain, saya sekarang akan menyimpan respons di sini dalam konstan karena
sekarang saya benar-benar peduli, saya ingin memastikan bahwa jika responsnya tidak oke, jadi
jika kita memiliki kode status 400 atau 500, saya juga melempar kesalahan
baru di mana saya mengatakan ada kesalahan atau di mana Anda melakukan kesalahan apa pun penanganan yang ingin Anda lakukan, sehingga
kami juga membuat kesalahan dalam kasus itu. Ngomong-ngomong, saya akan melakukan hal
yang sama untuk menghapus sebelum kita menguji kesalahan paksa yang saya terapkan.
Jadi di sini untuk dihapus, saya juga ingin memeriksa ini dan untuk itu tentu saja
di sini, saya juga perlu mendapatkan tanggapan saya dengan menunggu pengambilan di sini. Oke dengan itu, mari kita lihat apakah
kesalahan yang dipaksa untuk memperbarui karena mengabaikan ada
di sini, jika itu berpengaruh. Jika sekarang saya kembali ke admin, saya mulai menambahkan ini,
saya menambahkan tanda seru
dan klik ini, sekarang yang akan Anda lihat adalah bahwa pembaruannya hanya dibubarkan, jadi kami tidak melihat tanda seru di
sini tetapi kami juga tidak ada pesan kesalahan yang masuk akal karena saya tidak punya logika untuk melakukan itu.
Sekarang bagaimana kita bisa menangani ini?
Seperti yang saya katakan, saya ingin
melempar peringatan dan karena itu saya akan menggunakan efek penggunaan, sehingga gunakan efek kait yang Bereaksi menawarkan
yang kami temukan di sini, saya ingin menggunakan itu dan saya bisa menerapkannya di sini setelah
menginisialisasi peredam katakanlah, posisi yang tepat tidak masalah terlalu banyak. Gunakan efek di sini harus menjalankan kembali setiap kali
kesalahan berubah, jadi jika kita mengatur ini menjadi kesalahan
agar tidak menjadi kesalahan, maka di sini saya memeriksa apakah kesalahan itu benar-ish, jadi
jika kita memiliki kesalahan dan jika kita memiliki ini, maka saya
dapat memunculkan peringatan, terjadi kesalahan.
Saya ingin menampilkan kesalahan saya di sini dan itu harus menjadi pesan kesalahan karena itulah yang saya atur di sini,
saya
mengatur kesalahan saya ke pesan sehingga harus berupa string yang dapat saya tampilkan dan kemudian saya
akan menambahkan tombol di mana saya katakan OK yang hanya menolak ini. Sekarang juga penting, jika kita mendapatkan kesalahan,
saya tidak ingin menavigasi. Jadi untuk menghindari hal ini terjadi, saya ingin
memastikan bahwa di sini, alat peraga ini, navigasi di sini sebenarnya hanya dilakukan jika kita tidak berakhir di blok tangkap ini.
Jadi pada dasarnya di sini setelah blok if else tetapi masih di try block, di sana saya ingin menavigasi.
Jadi sekarang mari kita coba lagi, mari kembali
ke sini, edit ini, tambahkan
tanda seru, klik di tempat lain, klik simpan dan sekarang saya mendapatkan pesan
kesalahan saya di sini dan saya tetap di halaman ini dan itu juga reset. Saya dapat menambahkan ini lagi, klik
di sini dan hilang.
Di sisi lain jika kita sekarang memperbaiki kesalahan itu di sini dalam tindakan dengan membaca bahwa ada di
sini dan sekarang kita kembali dan melihat lagi,
jika saya mengedit ini, tambahkan tanda seru, klik di tempat lain dan
klik simpan, sekarang semua berfungsi sebagaimana mestinya.
Jadi sekarang ini benar-benar berfungsi dan sekarang ini berperilaku seperti seharusnya.
Sekarang Anda tentu saja dapat juga menambahkan pemintal pemuatan dan penangan kesalahan di sini ke layar produk pengguna
jika Anda mau.
Jadi jika Anda menghapus ini yang tidak akan saya lakukan di sini tetapi jika Anda akan menghapus ini, saat ini
Anda tidak akan mendapatkan pemintal,
pemintal pemuatan, Anda juga tidak akan mendapatkan kesalahan jika gagal. Untuk menghemat waktu, saya tidak akan menerapkan ini di sini, tetapi
pada dasarnya Anda bisa menerapkannya dengan cara yang persis sama seperti yang kami lakukan sebelumnya jika Anda mau.
Jadi itu sesuatu yang pasti bisa Anda lakukan.