Jadi sekarang untuk mengakhiri modul ini, saya ingin memastikan bahwa kami juga menyimpan pesanan di server dan
tentu saja kami mengambilnya dari sana juga.
Sekarang kita memiliki pembuat tindakan pesanan di sana-sini kita dapat lagi mengambil keuntungan dari Redux Thunk dan mengembalikan
fungsi kita di sini, yang mendapatkan fungsi pengiriman, yang harus disinkronkan dengan kata kunci async sehingga kita
dapat menggunakan async menunggu dan dalam fungsi
itu di sini yang kami kembalikan, pada akhirnya tentu saja saya akan mengirimkan objek tindakan saya, tetapi sebelum kami
melakukannya, kami sekarang dapat mengirim permintaan untuk menyimpan pesanan itu di server dan kami dapat meminjam permintaan itu
dari pembuat tindakan produk. Tidak ada perbedaan besar
apakah kita membuat produk atau pesanan itu, jadi kita dapat menyalin seluruh kode pembuatan
produk ini di sini sampai ke sini dan memindahkannya ke pesanan. file js.
Sekarang tentu saja, Anda
juga dapat menambahkan penanganan kesalahan di sini, saya tidak memilikinya di sini, satu hal yang paling ingin saya tambahkan
adalah bahwa saya tidak mendapatkan cek jika responsnya tidak
oke dalam hal ini saya ingin untuk melempar kesalahan baru, ada yang tidak beres tapi itu seharusnya tidak menjadi
fokus di sini karena kami
membahas penanganan kesalahan dan memuat pemintal, bukan
bagian yang ingin saya fokuskan di sini, sebagai gantinya mari pastikan bahwa kami mengirimkan
permintaan
ini ke alamat yang benar dan itu tidak boleh menjadi simpul produk tetapi katakanlah simpul
pesanan yang masuk akal menurut saya karena kami ingin menyimpan pesanan kami. Mungkin kami juga ingin menyimpan pesanan kami khusus untuk pengguna itu sehingga kami bisa menyimpannya di
/ orders / U1 yang merupakan ID pengguna dummy saya, saya asumsikan di sini. Nantinya itu akan berbeda, nanti kita akan
memiliki ID asli di sini, ID dinamis, untuk sekarang
mari kita hardcode ini di sini sehingga kita memiliki beberapa subfolder, satu subfolder per pengguna nanti.
Itu harus berupa permintaan pos karena kami menambahkan, kami menambahkan beberapa data baru, kami menambahkan pesanan baru.
Header ini perlu diatur dan
tentu saja data yang kami kirim berbeda. Di sana saya
ingin mengirim barang kartu saya dan jumlah total saya dan satu hal penting lainnya, tanggal pesanan.
Saya ingin mengirim kencan saya di sini dikonversi ke string dengan toISOString pada objek tanggal sehingga kami membuat ini
secara lokal di aplikasi dan kemudian kami menyimpan stempel waktu di server.
Sekarang di aplikasi Anda, Anda mungkin juga ingin melakukan pembuatan tanggal di server tetapi karena kursus ini tidak
harus fokus pada pemrograman sisi server, kami hanya akan melakukannya di sini dan mengirimkannya ke server dan tidak terlalu
khawatir tentang apa lagi yang bisa dilakukan server untuk
kita, sebagai gantinya mari kita lakukan semua hal di sini dan kirimkan saja cap waktu yang sudah selesai ke server.
Sekarang ini akan menambahkan pesanan di sini dan setelah selesai, kami mendapatkan kembali data respons kami
yang akan mencakup ID yang dihasilkan secara otomatis jika Anda ingat, kami juga melakukannya pada pembuatan produk.
Jadi karena itu sekarang ketika kita menambahkan pesanan, kita tentu saja meneruskan barang dan jumlahnya tetapi sekarang saya juga ingin
meneruskan ID yang saya dapatkan dari resData. nama, itu logika yang sama
yang kami gunakan ketika kami membuat produk dan ada satu hal tambahan, snapshot tanggal saya tentu saja harus
sama dengan yang dibuat di sini.
Jadi sebenarnya yang akan saya lakukan adalah saya akan membuat snapshot saya di sini, berkencan dengan tanggal baru dan kemudian menggunakan konstanta ini untuk
membuat versi string saya dan menggunakan konstanta yang sama di sini untuk meneruskannya dengan data pesanan saya.
Jadi di sini tanggal mengacu pada konstanta tanggal ini, sehingga
saya menggunakan satu dan stempel waktu yang sama, keduanya secara lokal di data saya dikelola dengan Redux yang merupakan data yang
saya gunakan di sini dalam aplikasi yang sedang berjalan ini dan tentu saja juga memiliki stempel waktu yang sama di server yang merupakan data
yang akan saya muat di masa depan atau perangkat lain akan memuat. Dan sekarang kita hanya perlu
mengerjakan peredam pesanan untuk menambah pesanan.
ID sekarang adalah sesuatu yang saya dapatkan dari luar, jadi
di sini saya punya data pesanan. Id karena itulah yang kami
teruskan di sini, ID Firebase yang dihasilkan secara otomatis memberi kami dan tanggal juga diterima
dari luar, di sini kami sekarang dapat menggunakan orderData. tanggal seperti ini dan dengan itu, kami memiliki semua logika untuk
mudah-mudahan menambahkan pesanan.
Sekarang, mari kita kembali ke sini dan menambahkan ini ke keranjang dan mengklik pesanan sekarang, ini tampaknya berhasil, jika kita kembali
sekarang kita melihat node pesanan di sini di Firebase dengan subfolder U1 untuk pengguna kami dengan ID unik
yang dihasilkan dan di sana, data pesanan dengan stempel waktu dengan harga, dengan item kartu yang merupakan kemeja putih
yang satu ini dan itu semua tidak terlihat terlalu buruk, menurut saya.