1 00:00:02,100 --> 00:00:05,460 Untuk tombol hapus, mari kita mulai lagi dengan logika Redux. 2 00:00:05,490 --> 00:00:11,850 Jadi di sini dalam tindakan misalnya, kita dapat mendaftarkan pengidentifikasi baru, menghapus dari suara keranjang seperti nama 3 00:00:11,850 --> 00:00:17,120 pas mengingat bahwa kita telah menambahkan ke keranjang sebelumnya, jadi hapus dari keranjang. 4 00:00:17,110 --> 00:00:22,710 Saya juga akan menambahkan lagi fungsi pembuat tindakan di sini, hapus dari keranjang. 5 00:00:22,740 --> 00:00:27,750 Sekarang ini hanya memerlukan ID produk yang harus dihapus, jadi hanya ID produk dan kemudian ini 6 00:00:27,750 --> 00:00:34,260 mengembalikan objek tindakan baru di mana jenis kursus dihapus dari keranjang dan di mana kita memiliki pid, ID produk, di 7 00:00:34,260 --> 00:00:40,800 mana saya meneruskan ID produk saya sampai di sini. Sekarang di peredam, kami telah menambahkan 8 00:00:40,800 --> 00:00:44,560 kas ke kasing, sekarang kami hanya perlu 9 00:00:44,560 --> 00:00:48,280 menambahkan kasing lain di sini dan kasing 10 00:00:50,290 --> 00:00:53,030 itu adalah kasing dari kasing. 11 00:00:53,050 --> 00:00:57,960 Untuk itu, Anda harus memastikan bahwa Anda mengimpor pengidentifikasi tindakan gerobak yang dihapus 12 00:00:58,000 --> 00:00:58,990 dari file 13 00:01:01,840 --> 00:01:03,670 tindakan dan di hapus dari 14 00:01:03,670 --> 00:01:07,120 wadah troli di sini, kami memiliki dua kasus lagi. 15 00:01:07,140 --> 00:01:12,660 Salah satunya adalah bahwa kita hanya memiliki satu item dari produk itu di troli, seperti untuk 16 00:01:12,660 --> 00:01:13,900 karpet biru, dalam hal 17 00:01:13,980 --> 00:01:16,760 ini kita perlu menghapusnya sepenuhnya dari objek item 18 00:01:16,770 --> 00:01:17,850 gerobak, jadi 19 00:01:17,850 --> 00:01:23,400 dari objek ini dan karena itu kemudian akan menghapusnya dari baris ini yang kami output di sini. 20 00:01:23,400 --> 00:01:27,870 Jika kami memiliki dua item atau lebih, maka kami hanya ingin mengurangi jumlah sebanyak 1. 21 00:01:27,870 --> 00:01:33,120 Tentu saja Anda selalu dapat menghapus item ini sepenuhnya jika Anda mau, tetapi saya ingin menunjukkan kepada Anda bagaimana 22 00:01:33,120 --> 00:01:35,450 Anda dapat membedakan antara dua kasus ini. 23 00:01:35,490 --> 00:01:41,130 Jadi sebenarnya jika kita memiliki jumlah yang lebih tinggi dari satu, saya tidak ingin menghapus item dari 24 00:01:41,130 --> 00:01:43,870 keranjang tetapi sebenarnya hanya mengurangi jumlahnya sebesar 1. 25 00:01:44,100 --> 00:01:51,210 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 26 00:01:51,210 --> 00:01:57,930 dapat dikurangkan dari keadaan kami tentu saja, di sana dalam item, kami harus menemukan produk yang kami cari dan tentu saja 27 00:01:57,960 --> 00:02:00,000 kami dapat melakukannya dengan bantuan 28 00:02:00,000 --> 00:02:04,770 ID yang bagian dari tindakan kami di sini di bidang pid karena sekarang item 29 00:02:05,550 --> 00:02:11,440 keadaan adalah objek dan karenanya kami dapat mengakses aksi. pid di sini, benar. 30 00:02:11,450 --> 00:02:16,680 Ini akan secara dinamis mengakses nilai dengan kunci ID produk di sini di item kami, 31 00:02:16,950 --> 00:02:18,380 jadi dengan ID 32 00:02:18,390 --> 00:02:21,220 produk kami melakukan tindakan ini dan ini adalah 33 00:02:21,240 --> 00:02:24,950 bagaimana kami menambahkan item ke objek item kami di sini, tepat. 34 00:02:24,960 --> 00:02:28,890 Kami menggunakan ID produk kami sebagai pengidentifikasi, inilah yang sekarang saya 35 00:02:28,920 --> 00:02:32,410 gunakan di sini untuk mendapatkan akses ke sana. 36 00:02:32,430 --> 00:02:36,940 Ini akan memiliki kuantitas karena ini akan memiliki nilai yang merupakan item produk, Anda tentu 37 00:02:36,990 --> 00:02:41,120 saja dapat juga menambahkan centang apakah item ini sebenarnya bagian dari keranjang tetapi cara 38 00:02:41,130 --> 00:02:46,290 kita membangun aplikasi ini, kita seharusnya tidak pernah dapat mencapai ini tindakan tanpa produk itu menjadi bagian 39 00:02:46,290 --> 00:02:51,690 dari troli karena kami hanya dapat memicu tindakan hapus kami di sini dari dalam layar troli, jadi kami 40 00:02:51,690 --> 00:02:55,340 tidak perlu memeriksa di sini tetapi kami pasti perlu mendapatkan kuantitasnya. 41 00:02:55,410 --> 00:03:03,780 Sekarang kita dapat memeriksa apakah kuantitas saat ini lebih besar dari 1 yang berarti kita perlu menguranginya, 42 00:03:03,780 --> 00:03:06,740 kita perlu menguranginya, tidak menghapusnya, kalau 43 00:03:06,750 --> 00:03:08,940 tidak kita perlu menghapusnya. 44 00:03:09,090 --> 00:03:11,790 Sekarang mari kita mulai dengan case erase. 45 00:03:11,850 --> 00:03:18,900 Jadi di sini kita hanya perlu mengembalikan objek item baru yang mencakup semua item 46 00:03:18,930 --> 00:03:27,520 lama tetapi tidak termasuk item ini lagi. Jadi kami dapat memiliki item keranjang kami yang diperbarui di sini tempat 47 00:03:27,520 --> 00:03:36,870 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 48 00:03:36,870 --> 00:03:41,880 item keranjang yang diperbarui untuk tindakan. pid 49 00:03:41,880 --> 00:03:49,290 Jadi ini akan menghapus item ini dari objek Javascript yang kami salin di sini, itu akan menghapus item ini seluruhnya, item produk 50 00:03:49,290 --> 00:03:57,020 ini sepenuhnya dari objek item keranjang kami. Inilah cara kami menghapusnya. Sekarang dalam kasus lain yang 51 00:03:57,020 --> 00:03:59,690 kita perlu menguranginya, saya dapat memiliki item 52 00:04:01,040 --> 00:04:07,250 keranjang yang diperbarui, sehingga item keranjang tunggal tempat saya membuat item keranjang baru dengan kelas item 53 00:04:07,280 --> 00:04:13,700 keranjang dan di sana, saya ingin menyalin nilai-nilai yang ada item kereta tetapi hanya mengurangi kuantitas. 54 00:04:14,220 --> 00:04:17,910 Jadi item keranjang mengambil kuantitas tepat sebagai nilai pertama, jadi 55 00:04:17,910 --> 00:04:25,290 sekarang di sini tujuannya adalah untuk mendapatkan akses ke item negara untuk ID produk yang saya dapatkan pada tindakan dan karena 56 00:04:25,290 --> 00:04:33,450 mengulang ini akan merepotkan, saya akan menyimpannya di penolong dengan konstanta , item keranjang yang dipilih ada di sini, sekarang kita dapat menggantinya 57 00:04:33,510 --> 00:04:37,290 di sini dengan item keranjang yang dipilih dan di sini saya 58 00:04:37,290 --> 00:04:41,760 dapat menggunakan cartItem yang dipilih. kuantitas dikurangi satu. 59 00:04:41,760 --> 00:04:48,240 Sekarang tentu saja kita tahu bahwa ini tidak akan menjadi nol karena jumlahnya lebih besar dari 1 dan sekarang kita dapat 60 00:04:48,240 --> 00:04:49,820 menyimpan sisa data tentu saja. 61 00:04:49,830 --> 00:04:57,270 Jadi kami menjaga harga produk di sini, kami menjaga judul produk, bahwa semua tidak berubah, 62 00:04:57,270 --> 00:05:00,840 jumlah tetapi tentu saja berubah dan 63 00:05:00,910 --> 00:05:05,090 itu jumlahnya, jumlah lama dikurangi harga tentu saja, 64 00:05:05,100 --> 00:05:13,410 jadi minus harga produk karena kami menghapus satu item, kita harus mengurangi jumlah dengan harga satu item. 65 00:05:13,470 --> 00:05:21,870 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 66 00:05:21,870 --> 00:05:26,760 sedikit dan membuat item keranjang yang diperbarui sebagai variabel di sini daripada konstanta di 67 00:05:26,760 --> 00:05:32,880 sini di blok lain, jadi saya hanya memperbarui nilai variabel ini, sehingga di sini di Jika blok, 68 00:05:33,240 --> 00:05:34,230 kita juga 69 00:05:34,230 --> 00:05:40,530 dapat menggunakan nama variabel yang sama, memperbarui item keranjang di mana saya menetapkan ini sama dengan salinan item 70 00:05:40,530 --> 00:05:49,890 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 71 00:05:49,890 --> 00:05:56,610 kereta lama saya dengan jumlah dan jumlah yang diperbarui. Itu item keranjang yang diperbarui, sekarang 72 00:05:56,700 --> 00:05:57,520 tentu 73 00:05:57,540 --> 00:06:02,550 saja kita juga perlu menyesuaikan jumlah total negara kita, jadi 74 00:06:02,550 --> 00:06:10,800 setelah ini jika lagi memblokir, kita mengembalikan salinan negara, item dapat diatur ke item keranjang diperbarui 75 00:06:11,160 --> 00:06:14,030 dan sekarang penting, yang jumlah 76 00:06:14,100 --> 00:06:20,160 total dapat diatur untuk menyatakan jumlah total dikurangi harga produk item keranjang 77 00:06:23,530 --> 00:06:31,030 karena sama seperti saya memperbarui jumlah untuk item keranjang tunggal ini, jumlah total keranjang tentu 78 00:06:31,060 --> 00:06:38,200 saja juga harus disesuaikan kembali seperti itu. Sekarang kita dapat mencoba mengirimkan penghapusan ini dari tindakan keranjang. 79 00:06:38,200 --> 00:06:46,940 Jadi mari kita pergi ke layar troli di mana saya pada akhirnya memiliki ini pada fungsi hapus dan 80 00:06:46,940 --> 00:06:51,860 di sana, saya sekarang ingin mengirim tindakan, jadi saya 81 00:06:51,890 --> 00:07:03,040 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 82 00:07:03,550 --> 00:07:05,740 dan kemudian mengirimkannya ke sana. 83 00:07:05,740 --> 00:07:17,150 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 84 00:07:17,150 --> 00:07:24,080 ini yang benar-benar opsional, Anda juga dapat menargetkan hal-hal spesifik yang Anda butuhkan, jadi targetkan hal 85 00:07:24,080 --> 00:07:25,760 spesifik pembuat tindakan, 86 00:07:25,790 --> 00:07:31,610 dalam hal ini pemindahan dari pembuat keranjang yang kami perlukan dan kemudian di 87 00:07:32,480 --> 00:07:35,400 sana, cukup jalankan pembuat tindakan ini, 88 00:07:35,420 --> 00:07:41,780 dalam kasus saya dengan menggunakan tindakan keranjang. removeFromCart, teruskan ID produk yang tentu saja kita dapatkan di 89 00:07:41,780 --> 00:07:45,030 sini, itu adalah dataData. barang. 90 00:07:45,110 --> 00:07:50,810 dan sekarang perlu diingat bahwa kita sedang menelusuri item-item dari bentuk ini, jadi kita akan memiliki bidang ID produk di 91 00:07:50,810 --> 00:07:55,840 sana dan karenanya kita dapat menggunakan ini di sini untuk meneruskan ini untuk menghapus dari keranjang, karena 92 00:07:55,850 --> 00:08:00,770 itu semoga ini memungkinkan kita untuk memperbarui ini. Dan itu harusnya semua, Redux harus 93 00:08:00,770 --> 00:08:05,470 melakukan sisanya di belakang layar dan harus secara otomatis mengubah tampilan layar keranjang setiap 94 00:08:05,570 --> 00:08:12,060 kali kereta berubah, jadi setiap kali kita menghapus item. Jadi saya menambahkan dua kemeja merah dan satu karpet biru dan jika saya 95 00:08:13,260 --> 00:08:13,790 menghapus 96 00:08:13,800 --> 00:08:17,000 satu kemeja merah, tentu saja satu masalah yang kita miliki adalah sakelar 97 00:08:17,010 --> 00:08:19,800 pesanan, kita harus memperbaikinya tetapi Anda melihat jumlahnya diperbarui dengan benar. 98 00:08:19,920 --> 00:08:25,620 Jika saya sekarang menghapus ini, jumlah total juga diperbarui dengan benar, jika saya sekarang menghapus ini, memang sudah hilang seluruhnya 99 00:08:26,360 --> 00:08:28,080 dan sekarang ini juga dinonaktifkan. 100 00:08:28,080 --> 00:08:31,970 Jadi ini biasanya berfungsi tetapi tentu saja urutannya diaktifkan, itu bukan sesuatu 101 00:08:31,980 --> 00:08:34,140 yang saya inginkan terjadi di sini. 102 00:08:34,380 --> 00:08:40,620 Sekarang untuk menghindari urutan order, kita cukup pergi ke layar keranjang tempat saya mengubah item saya menjadi array dan 103 00:08:40,620 --> 00:08:45,960 di sana, kita hanya perlu memastikan array ini selalu diurutkan dengan cara yang sama karena 104 00:08:45,990 --> 00:08:51,690 pemilih ini akan selalu kembali ke memicu dan mengambil kembali data kami setiap kali kondisi Redux kami berubah. 105 00:08:52,320 --> 00:08:57,540 Jadi karena itu di sini, kita akan selalu mendapatkan snapshot data terbaru yang kita miliki di sana dan karenanya, 106 00:08:57,540 --> 00:09:02,670 di sinilah kita hanya perlu mengurutkannya dengan cara yang sama sepanjang waktu dan karena itu akan selalu membuatnya dengan 107 00:09:02,670 --> 00:09:03,790 cara yang sama. 108 00:09:03,900 --> 00:09:11,250 Jadi kita hanya perlu memastikan bahwa array item keranjang yang diubah diurutkan dengan memanggil sortir di sana. 109 00:09:11,410 --> 00:09:17,310 Jika saya menyebutnya seperti ini, saya mulai menambahkan beberapa data di sini, sekarang Anda melihat 110 00:09:17,410 --> 00:09:21,820 ini sendiri tidak melakukan trik karena kami tidak memberi tahu cara 111 00:09:21,820 --> 00:09:28,480 mengurutkannya dan tidak tahu bagaimana melakukan ini untuk objek yang keluar dari kotak tetapi kita dapat melewati 112 00:09:28,480 --> 00:09:34,490 fungsi untuk mengurutkan di mana kita selalu membandingkan dua item, a dan b, satu sama 113 00:09:34,600 --> 00:09:38,140 lain dan kemudian mengurutkan harus mengembalikan angka pada akhirnya 114 00:09:38,190 --> 00:09:40,780 yang menentukan apa yang muncul 115 00:09:40,800 --> 00:09:50,530 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 116 00:09:50,530 --> 00:09:58,110 memeriksa ID produk A, membandingkannya dengan ID produk B dan jika lebih besar, maka dengan ekspresi ternary di sini, 117 00:09:58,150 --> 00:10:02,210 saya mengembalikan satu, jika tidak saya mengembalikan minus satu . 118 00:10:02,370 --> 00:10:07,620 Ini adalah fungsi pengurutan normal yang disertakan dengan Javascript dan sekarang ini memastikan bahwa 119 00:10:07,620 --> 00:10:08,610 kami selalu 120 00:10:08,670 --> 00:10:17,520 mengurutkan dengan cara yang sama, maka sekarang Anda lihat apakah saya menghapus ini, short merah tetap di tempatnya dan karenanya logika keranjang kami selesai. 121 00:10:17,520 --> 00:10:23,620 Sekarang kita dapat memastikan bahwa kita benar-benar dapat mengklik tombol pesanan sekarang dan kita menambahkan ini sebagai pesanan yang selanjutnya 122 00:10:23,610 --> 00:10:29,250 dapat kita kunjungi dengan laci bermanfaat di sini yang memungkinkan kita untuk pergi ke layar pesanan yang tentu 123 00:10:29,250 --> 00:10:31,190 saja kita juga belum Menambahkan.