Mari kita mulai dengan mengelola status pemuatan di sini di layar auth karena jelas saya ingin
memberi umpan balik kepada pengguna saat kami sedang menunggu tanggapan.
Untuk ini, kita dapat mengimpor indikator aktivitas yang sudah Anda ketahui dan mengelola status pemuatan
di sini dengan menambahkan status lain di sini, isLoading dan mengatur isLoading yang kami inisialisasi ke false karena awalnya kami tidak memuat
dan sekarang di sini ketika kami berada dalam auth ini Handler, saya dapat menambahkan async di sini karena tentu saja mendaftar di sini
mengembalikan janji, sama untuk login,
jadi fungsi pencipta tindakan ini mengembalikan janji. Jadi kita bisa menunggu hasil pengiriman yang
akhirnya menggunakan janji-janji ini yang kita dapatkan dan pada dasarnya memulai seluruh proses ini dan sebelum kita menunggu ini,
saya dapat mengatur isLoading menjadi true, jadi ketika kita memulai seluruh
proses ini, sebelum kita mengirim permintaan dan setelah itu set isLoading ke false setelah kami selesai
dengan permintaan ini, tidak peduli apakah itu gagal atau tidak.
Dan sekarang isLoading dapat digunakan untuk menampilkan pemintal
pemuatan, terserah Anda di mana Anda menampilkan ini, misalnya Anda bisa mengatakan bahwa Anda ingin mengganti tombol
mendaftar ini dengan pemintal pemuatan.
Jadi di sini kita bisa mengatakan jika iso Memuat benar,
saya ingin menunjukkan indikator aktivitas seperti itu, kalau tidak saya
akan menunjukkan tombol, jadi ini adalah sintaks
yang bisa kita gunakan, atur
ukuran di sini menjadi kecil dan warna ke Warna. primer katakanlah. Sekarang jika kita mencobanya dan
kita kembali, di sini di iOS jika saya mencoba masuk, memang saya melihat loading spinner dan kemudian saya kembali,
jadi itu bekerja, sekarang untuk penanganan kesalahan.
Untuk penanganan kesalahan, Anda juga belajar cara kerjanya.
Anda tentu saja dapat mengatur status kesalahan Anda di
sini juga, Anda dapat kembali menggunakan peredam untuk menggabungkan status memuat dan kesalahan menjadi
satu objek,
tetapi saya akan melakukannya seperti ini, kesalahan dan mengatur kesalahan dengan
bantuan status penggunaan yang awalnya tidak dapat memberikan nilai sehingga ini tidak terdefinisi pada awalnya dan kemudian di sini, kita dapat membungkus mencoba menangkap
pengiriman ini di sini di mana kita mendapatkan kesalahan potensial dan
mengatur kesalahan kita ke pesan kesalahan ini kita akan kembali dan sebelum kita mengirim permintaan, Saya juga
ingin mengatur kesalahan saya kembali ke nol. Jadi sekarang kita menyimpan kesalahan potensial di sini dalam kesalahan set
dan saya hanya ingin melempar peringatan, menunjukkan peringatan kepada pengguna jika kita mendapatkan kesalahan.
Jadi untuk ini, Anda perlu memastikan bahwa Anda mengimpor lansiran dari Bereaksi Asli dan
juga menggunakan efek dari reaksi karena efek penggunaan memungkinkan kami bereaksi terhadap perubahan dalam
status kesalahan dan menunjukkan peringatan kesalahan jika kami memiliki kesalahan. Jadi mungkin di sini setelah menyiapkan peredam, kita dapat menambahkan efek penggunaan dan ketergantungan
saya di sini adalah variabel status kesalahan atau konstan dan jika kita memiliki kesalahan, jadi
jika ini benar-ish, maka saya ingin menunjukkan peringatan dengan peringatan API tempat saya mengatakan kesalahan terjadi dan pesan saya adalah kesalahan yang seharusnya berupa
string dan saya akan menambahkan tombol di mana saya memiliki teks OK dan tentu saja Anda
dapat menambahkan lebih banyak tombol di mana Anda melakukan hal-hal yang berbeda.
Sekarang kita dapat mensimulasikan ini di pembuat tindakan dengan pergi ke sana dan untuk masuk, katakanlah kita menghapus D di
sini, sehingga ini adalah URL yang salah pada akhirnya. Jika sekarang kita mencoba masuk di sini,
saya mendapatkan kesalahan ini.
Nah,
itu bagus tetapi ada juga jenis kesalahan lain yang ingin saya tangani, misalnya bagaimana jika
saya login dengan alamat email yang tidak ada? Tentu saja saya ingin menunjukkan kesalahan kepada pengguna
juga dan saya lakukan tetapi saya hanya menunjukkan ada kesalahan yang bukan kesalahan yang ingin saya tampilkan.
Sekarang saya menunjukkan kesalahan ini karena di pembuat tindakan di sini, jika responsnya tidak beres, saya melempar sesuatu
yang salah.
Sekarang masalahnya adalah ketika kita mengirim email yang salah atau kata sandi yang salah,
juga dengan cara mendaftar jika kita mengirim sesuatu yang bukan email atau kata sandi yang terlalu pendek, jika itu terjadi, maka
kita akan dapatkan kembali respons dengan kode status 400 sesuatu dan kami mendapatkan beberapa detail kesalahan sebagai bagian dari respons
dan sekarang
dengan penanganan kesalahan kami, kami tidak melihat
itu, jadi kami perlu mengubahnya. Alih-alih segera melempar kesalahan di
sini jika responsnya tidak oke, saya tetap ingin memeriksanya.
Jadi saya akan memiliki data respons kesalahan
yang saya dapatkan dengan menunggu tanggapan JSON di sini. Jadi saya melakukan hal yang sama seperti dalam kasus sukses tetapi saya mengekstraknya ke
bidang yang berbeda dan sekarang di sini saya ingin konsol mencatat
data respons kesalahan sehingga kami dapat merasakan bagaimana ini terlihat.
Jadi sekarang mari kita coba memasukkan alamat email yang tidak ada lagi dan sekarang kita mendapatkan kesalahan aneh yang baru saja Anda lihat, tetapi sekarang kami memiliki output yang
menarik di sini dan Anda melihat ini adalah objek kesalahan yang dikembalikan Firebase kepada saya dan tentu saja
itu tergantung pada API
yang Anda ajak bicara, jenis kesalahan apa yang Anda dapatkan dan kapan
Anda mendapatkannya dan detail apa yang termasuk di dalamnya. Ini seperti yang Anda lihat adalah
objek yang memiliki kunci kesalahan yang merupakan objek lain yang memiliki kode kesalahan, beberapa detail tentang
kesalahan dan kemudian pesan ini yang misalnya email tidak ditemukan dan itulah
bagian yang saya tertarik. Ngomong-ngomong, dalam dokumen resmi, Anda akan menemukan lebih banyak pengidentifikasi
kesalahan potensial yang bisa Anda dapatkan. Jadi pada
akhirnya, itulah yang ingin saya periksa sekarang. Saya ingin mendapatkan ID kesalahan saya, katakanlah dari data respons kesalahan
dengan mengakses bidang kesalahan ada bidang ini yang memberi saya akses ke objek ini yang kemudian memiliki
bidang pesan ini.
Jadi karena itu di sini, saya kemudian mengakses pesan untuk mendapatkan pesan ini dan sekarang kita dapat memeriksanya, kita dapat
memeriksa apakah ID kesalahan sama dengan email yang tidak ditemukan. Jika itu masalahnya, saya ingin mengatur pesan saya sendiri,
jadi di sini saya akan menambahkan pesan variabel yang hanya ada yang tidak beres secara default,
tetapi di sini jika kita tahu masalahnya adalah kita tidak menemukan email alamat, kita
dapat mengatakan email ini tidak dapat ditemukan dan saya akan menambahkan lebih banyak jika cek dalam sedetik.
Jadi ini adalah sesuatu yang ingin saya periksa di sini dan pada akhirnya karena itu, saya memiliki pesan yang sekarang ingin saya
buang,
jadi sekarang saya akan melempar kesalahan baru dengan pesan khusus saya sendiri. Jadi cek lain yang
ingin saya tambahkan dengan pernyataan else / if di sini adalah apakah ID kesalahan
untuk masuk dengan kata sandi yang tidak valid katakanlah. Jadi saya bisa mengeceknya dan menetapkan pesan sama dengan kata sandi ini tidak valid dan sekarang
mari kita coba lagi.
Mari kita kembali dan memasukkan alamat email yang tidak ada, login cepat dan kami mendapatkan alamat email ini tidak
dapat ditemukan atau email ini tidak dapat ditemukan.
Sekarang mari kita coba alamat email yang valid tetapi sebenarnya kata sandi yang tidak valid, seperti ini dan kami mendapatkan kata sandi ini tidak
valid, jadi sekarang kami
memberikan umpan balik yang lebih baik kepada pengguna.
Sekarang mari kita terapkan hal yang sama untuk mendaftar, jadi saya akan menyalinnya dan pergi ke kasir saya di sana-sini saya
hanya memiliki kode kesalahan yang berbeda, di
sana saya memiliki kode seperti ada email, jika
alamat email itu sudah ada.
Jadi saya mengekstrak ID kesalahan saya dengan cara yang sama tetapi kemudian saya memeriksa apakah ada email dan jika ini adalah kesalahan, saya katakan
email ini sudah ada.
Sekarang ini sebenarnya satu-satunya hal
yang ingin saya periksa di sini, ada kesalahan lain juga yang bisa Anda dapatkan dan Anda bisa misalnya cukup matikan validasi Anda
di sini dan lihat kesalahan yang Anda dapatkan jika Anda mengirim e- yang tidak valid alamat email dengan
masuk ID kesalahan itu dan kemudian Anda dapat
memeriksa itu juga, di sini saya hanya akan mengimplementasikan pesan ini dan karena itu sekarang jika saya mencoba mendaftar di sini
dengan alamat email yang sudah saya gunakan, seperti ini, saya dapatkan email ini sudah ada Di sisi lain, jika saya menggunakan alamat email yang valid
tentu saja, ini hanya melewati dan menggunakan Firebase, tentu saja, jika Anda pergi ke otentikasi dan menyegarkan
ini, Anda akan melihat pengguna kedua itu.
Jadi ini adalah bagaimana Anda dapat menambahkan pemintal pemuatan dan penanganan kesalahan dengan otentikasi.
Itu semua bagus tapi sekarang akhirnya akan menyenangkan juga meninggalkan layar itu dan pergi ke aplikasi kita dan kemudian
mulai bekerja dengan token yang kita dapatkan.