Untuk tombol hapus, mari kita mulai lagi dengan logika Redux.
Jadi di sini dalam tindakan misalnya, kita dapat mendaftarkan pengidentifikasi baru, menghapus dari suara keranjang seperti nama
pas mengingat bahwa kita telah menambahkan ke keranjang sebelumnya, jadi hapus dari keranjang.
Saya juga akan menambahkan lagi fungsi pembuat tindakan di sini, hapus dari keranjang.
Sekarang ini hanya memerlukan ID produk yang harus dihapus, jadi hanya ID produk dan kemudian ini
mengembalikan objek tindakan baru di mana jenis kursus dihapus dari keranjang dan di mana kita memiliki pid, ID produk, di
mana saya meneruskan ID produk saya sampai di sini. Sekarang di peredam, kami telah menambahkan
kas ke kasing, sekarang kami hanya perlu
menambahkan kasing lain di sini dan kasing
itu adalah kasing dari kasing.
Untuk itu, Anda harus memastikan bahwa Anda mengimpor pengidentifikasi tindakan gerobak yang dihapus
dari file
tindakan dan di hapus dari
wadah troli di sini, kami memiliki dua kasus lagi.
Salah satunya adalah bahwa kita hanya memiliki satu item dari produk itu di troli, seperti untuk
karpet biru, dalam hal
ini kita perlu menghapusnya sepenuhnya dari objek item
gerobak, jadi
dari objek ini dan karena itu kemudian akan menghapusnya dari baris ini yang kami output di sini.
Jika kami memiliki dua item atau lebih, maka kami hanya ingin mengurangi jumlah sebanyak 1.
Tentu saja Anda selalu dapat menghapus item ini sepenuhnya jika Anda mau, tetapi saya ingin menunjukkan kepada Anda bagaimana
Anda dapat membedakan antara dua kasus ini.
Jadi sebenarnya jika kita memiliki jumlah yang lebih tinggi dari satu, saya tidak ingin menghapus item dari
keranjang tetapi sebenarnya hanya mengurangi jumlahnya sebesar 1.
Jadi karena itu dalam mengeluarkan dari gerobak, kita harus mencari tahu berapa kuantitas kita. Jadi jumlah kami saat ini yang saya simpan di konstanta ini
dapat dikurangkan dari keadaan kami tentu saja, di sana dalam item, kami harus menemukan produk yang kami cari dan tentu saja
kami dapat melakukannya dengan bantuan
ID yang bagian dari tindakan kami di sini di bidang pid karena sekarang item
keadaan adalah objek dan karenanya kami dapat mengakses aksi. pid di sini, benar.
Ini akan secara dinamis mengakses nilai dengan kunci ID produk di sini di item kami,
jadi dengan ID
produk kami melakukan tindakan ini dan ini adalah
bagaimana kami menambahkan item ke objek item kami di sini, tepat.
Kami menggunakan ID produk kami sebagai pengidentifikasi, inilah yang sekarang saya
gunakan di sini untuk mendapatkan akses ke sana.
Ini akan memiliki kuantitas karena ini akan memiliki nilai yang merupakan item produk, Anda tentu
saja dapat juga menambahkan centang apakah item ini sebenarnya bagian dari keranjang tetapi cara
kita membangun aplikasi ini, kita seharusnya tidak pernah dapat mencapai ini tindakan tanpa produk itu menjadi bagian
dari troli karena kami hanya dapat memicu tindakan hapus kami di sini dari dalam layar troli, jadi kami
tidak perlu memeriksa di sini tetapi kami pasti perlu mendapatkan kuantitasnya.
Sekarang kita dapat memeriksa apakah kuantitas saat ini lebih besar dari 1 yang berarti kita perlu menguranginya,
kita perlu menguranginya, tidak menghapusnya, kalau
tidak kita perlu menghapusnya.
Sekarang mari kita mulai dengan case erase.
Jadi di sini kita hanya perlu mengembalikan objek item baru yang mencakup semua item
lama tetapi tidak termasuk item ini lagi. Jadi kami dapat memiliki item keranjang kami yang diperbarui di sini tempat
kami mengkloning item negara, seperti ini dan sekarang untuk menghapus properti, kami dapat menggunakan kata kunci hapus yang diketahui Javascript dan di sana, kami dapat menghapus
item keranjang yang diperbarui untuk tindakan. pid
Jadi ini akan menghapus item ini dari objek Javascript yang kami salin di sini, itu akan menghapus item ini seluruhnya, item produk
ini sepenuhnya dari objek item keranjang kami. Inilah cara kami menghapusnya. Sekarang dalam kasus lain yang
kita perlu menguranginya, saya dapat memiliki item
keranjang yang diperbarui, sehingga item keranjang tunggal tempat saya membuat item keranjang baru dengan kelas item
keranjang dan di sana, saya ingin menyalin nilai-nilai yang ada item kereta tetapi hanya mengurangi kuantitas.
Jadi item keranjang mengambil kuantitas tepat sebagai nilai pertama, jadi
sekarang di sini tujuannya adalah untuk mendapatkan akses ke item negara untuk ID produk yang saya dapatkan pada tindakan dan karena
mengulang ini akan merepotkan, saya akan menyimpannya di penolong dengan konstanta , item keranjang yang dipilih ada di sini, sekarang kita dapat menggantinya
di sini dengan item keranjang yang dipilih dan di sini saya
dapat menggunakan cartItem yang dipilih. kuantitas dikurangi satu.
Sekarang tentu saja kita tahu bahwa ini tidak akan menjadi nol karena jumlahnya lebih besar dari 1 dan sekarang kita dapat
menyimpan sisa data tentu saja.
Jadi kami menjaga harga produk di sini, kami menjaga judul produk, bahwa semua tidak berubah,
jumlah tetapi tentu saja berubah dan
itu jumlahnya, jumlah lama dikurangi harga tentu saja,
jadi minus harga produk karena kami menghapus satu item, kita harus mengurangi jumlah dengan harga satu item.
Sekarang item keranjang yang diperbarui ini perlu diganti dengan item saat ini di objek item keranjang kami. Agar kita juga dapat menggunakan kembali beberapa kode, saya akan benar-benar mengubahnya
sedikit dan membuat item keranjang yang diperbarui sebagai variabel di sini daripada konstanta di
sini di blok lain, jadi saya hanya memperbarui nilai variabel ini, sehingga di sini di Jika blok,
kita juga
dapat menggunakan nama variabel yang sama, memperbarui item keranjang di mana saya menetapkan ini sama dengan salinan item
yang ada tapi kemudian saya mengganti pid tindakan saya di sini, jadi ID produk saya, pengidentifikasi saya, nilai di sana dengan item keranjang diperbarui yang merupakan item
kereta lama saya dengan jumlah dan jumlah yang diperbarui. Itu item keranjang yang diperbarui, sekarang
tentu
saja kita juga perlu menyesuaikan jumlah total negara kita, jadi
setelah ini jika lagi memblokir, kita mengembalikan salinan negara, item dapat diatur ke item keranjang diperbarui
dan sekarang penting, yang jumlah
total dapat diatur untuk menyatakan jumlah total dikurangi harga produk item keranjang
karena sama seperti saya memperbarui jumlah untuk item keranjang tunggal ini, jumlah total keranjang tentu
saja juga harus disesuaikan kembali seperti itu. Sekarang kita dapat mencoba mengirimkan penghapusan ini dari tindakan keranjang.
Jadi mari kita pergi ke layar troli di mana saya pada akhirnya memiliki ini pada fungsi hapus dan
di sana, saya sekarang ingin mengirim tindakan, jadi saya
akan memerlukan akses ke fungsi pengiriman dengan bantuan penggunaan kait pengiriman. Kita sekarang dapat menggunakannya di sini, dapatkan akses dengan menelepon hanya menggunakan pengiriman seperti ini
dan kemudian mengirimkannya ke sana.
Kirim sekarang impor semua tindakan yang kami butuhkan, jadi impor semuanya sebagai tindakan keranjang dari folder toko, dari tindakan keranjang seperti ini, lagi-lagi menggunakan impor paket
ini yang benar-benar opsional, Anda juga dapat menargetkan hal-hal spesifik yang Anda butuhkan, jadi targetkan hal
spesifik pembuat tindakan,
dalam hal ini pemindahan dari pembuat keranjang yang kami perlukan dan kemudian di
sana, cukup jalankan pembuat tindakan ini,
dalam kasus saya dengan menggunakan tindakan keranjang. removeFromCart, teruskan ID produk yang tentu saja kita dapatkan di
sini, itu adalah dataData. barang.
dan sekarang perlu diingat bahwa kita sedang menelusuri item-item dari bentuk ini, jadi kita akan memiliki bidang ID produk di
sana dan karenanya kita dapat menggunakan ini di sini untuk meneruskan ini untuk menghapus dari keranjang, karena
itu semoga ini memungkinkan kita untuk memperbarui ini. Dan itu harusnya semua, Redux harus
melakukan sisanya di belakang layar dan harus secara otomatis mengubah tampilan layar keranjang setiap
kali kereta berubah, jadi setiap kali kita menghapus item. Jadi saya menambahkan dua kemeja merah dan satu karpet biru dan jika saya
menghapus
satu kemeja merah, tentu saja satu masalah yang kita miliki adalah sakelar
pesanan, kita harus memperbaikinya tetapi Anda melihat jumlahnya diperbarui dengan benar.
Jika saya sekarang menghapus ini, jumlah total juga diperbarui dengan benar, jika saya sekarang menghapus ini, memang sudah hilang seluruhnya
dan sekarang ini juga dinonaktifkan.
Jadi ini biasanya berfungsi tetapi tentu saja urutannya diaktifkan, itu bukan sesuatu
yang saya inginkan terjadi di sini.
Sekarang untuk menghindari urutan order, kita cukup pergi ke layar keranjang tempat saya mengubah item saya menjadi array dan
di sana, kita hanya perlu memastikan array ini selalu diurutkan dengan cara yang sama karena
pemilih ini akan selalu kembali ke memicu dan mengambil kembali data kami setiap kali kondisi Redux kami berubah.
Jadi karena itu di sini, kita akan selalu mendapatkan snapshot data terbaru yang kita miliki di sana dan karenanya,
di sinilah kita hanya perlu mengurutkannya dengan cara yang sama sepanjang waktu dan karena itu akan selalu membuatnya dengan
cara yang sama.
Jadi kita hanya perlu memastikan bahwa array item keranjang yang diubah diurutkan dengan memanggil sortir di sana.
Jika saya menyebutnya seperti ini, saya mulai menambahkan beberapa data di sini, sekarang Anda melihat
ini sendiri tidak melakukan trik karena kami tidak memberi tahu cara
mengurutkannya dan tidak tahu bagaimana melakukan ini untuk objek yang keluar dari kotak tetapi kita dapat melewati
fungsi untuk mengurutkan di mana kita selalu membandingkan dua item, a dan b, satu sama
lain dan kemudian mengurutkan harus mengembalikan angka pada akhirnya
yang menentukan apa yang muncul
pertama dan di sana, tentu saja Anda dapat mengurutkan ini Anda ingin, misalnya dengan ID produk, sehingga kami dapat dengan mudah mengembalikan perbandingan tempat kami
memeriksa ID produk A, membandingkannya dengan ID produk B dan jika lebih besar, maka dengan ekspresi ternary di sini,
saya mengembalikan satu, jika tidak saya mengembalikan minus satu .
Ini adalah fungsi pengurutan normal yang disertakan dengan Javascript dan sekarang ini memastikan bahwa
kami selalu
mengurutkan dengan cara yang sama, maka sekarang Anda lihat apakah saya menghapus ini, short merah tetap di tempatnya dan karenanya logika keranjang kami selesai.
Sekarang kita dapat memastikan bahwa kita benar-benar dapat mengklik tombol pesanan sekarang dan kita menambahkan ini sebagai pesanan yang selanjutnya
dapat kita kunjungi dengan laci bermanfaat di sini yang memungkinkan kita untuk pergi ke layar pesanan yang tentu
saja kita juga belum Menambahkan.