1 00:00:02,320 --> 00:00:09,040 Jadi sekarang dengan komponen item produk ditata ulang, sekarang saatnya untuk katakan saja menghapus item karena 2 00:00:09,040 --> 00:00:14,120 itu sebenarnya di antara hal-hal paling sederhana yang dapat kita lakukan. 3 00:00:14,170 --> 00:00:19,600 Ini membawa kita kembali ke Redux dan di sana, sekarang saatnya untuk bekerja pada produk dan 4 00:00:19,600 --> 00:00:21,120 saya akan mulai dalam 5 00:00:21,160 --> 00:00:26,450 tindakan yang saat ini merupakan file kosong, produk. File js di folder tindakan di 6 00:00:26,560 --> 00:00:35,350 mana saya ingin mengekspor tindakan yang membantu kami menghapus produk. Oleh karena itu pengidentifikasi hanya bernama hapus produk dan 7 00:00:35,350 --> 00:00:46,900 memegang teks hapus produk di sini dan saya juga akan mengekspor produk penghapusan pembuat tindakan yang mengambil ID produk, seperti ini dan yang kemudian mengembalikan 8 00:00:46,900 --> 00:00:53,430 objek tindakan di mana jenisnya adalah menghapus produk dan pid, ID produk hanyalah ID 9 00:00:53,440 --> 00:00:55,990 produk yang diteruskan, seperti ini. 10 00:00:59,620 --> 00:01:07,990 Sekarang dalam peredam, dalam file peredam produk, kita dapat mendengarkannya karena saat ini, kita 11 00:01:08,560 --> 00:01:17,110 tidak pernah peduli dengan tindakan apa pun. Sekarang kita dapat mengaktifkan jenis tindakan di sini dan menangani kasus bahwa itu menghapus produk yang kita 12 00:01:17,230 --> 00:01:23,900 dapatkan dari file tindakan produk kami dan karenanya Anda perlu menambahkan impor itu. Jika menghapus produk adalah kasusnya, kita perlu menghapus produk 13 00:01:23,900 --> 00:01:29,840 dari array produk pengguna kami dan tentu saja juga dari array produk yang tersedia karena itu 14 00:01:29,840 --> 00:01:34,490 dihapus secara umum, tidak hanya di produk pengguna kami tetapi dari seluruh 15 00:01:34,490 --> 00:01:35,290 aplikasi. 16 00:01:37,990 --> 00:01:39,190 Karenanya di 17 00:01:39,190 --> 00:01:48,100 sini, saya akan mengembalikan objek baru tempat kami menyalin status yang ada untuk memastikan kami tidak kehilangan status apa pun dan sekarang 18 00:01:48,100 --> 00:01:51,630 produk pengguna hanyalah status. userProducts, jadi produk pengguna 19 00:01:51,640 --> 00:01:57,070 lama yang dapat kita filter, itu adalah metode Javascript bawaan yang mengembalikan array baru, 20 00:01:57,070 --> 00:02:04,640 array baru yang pada dasarnya dibuat dengan menjalankan fungsi pada setiap item dalam array lama dan jika fungsi itu mengembalikan 21 00:02:04,660 --> 00:02:09,930 true , kami menyimpan item itu, jika itu mengembalikan false, kami menjatuhkan item tersebut. 22 00:02:10,000 --> 00:02:15,490 Jadi ini mengeksekusi fungsi di mana kita mendapatkan produk, fungsi ini dieksekusi untuk kita oleh Javascript 23 00:02:15,490 --> 00:02:20,720 sehingga bisa dikatakan dan melewati item yang saat ini sedang melihat ke fungsi ini. 24 00:02:20,800 --> 00:02:29,110 Jadi kami mendapatkan produk untuk setiap produk dalam array produk pengguna kami dan kami ingin mengembalikan ID produk, tidak seperti tindakan 25 00:02:29,650 --> 00:02:33,390 pid yang merupakan ID produk yang ingin kami hapus. 26 00:02:33,400 --> 00:02:39,530 Apa artinya ini adalah bahwa pada dasarnya itu akan menjaga semua produk di mana ID tidak cocok, jika mereka cocok, kita 27 00:02:39,550 --> 00:02:41,890 tahu itu produk yang ingin kita singkirkan dan 28 00:02:41,890 --> 00:02:43,240 oleh karena itu kita 29 00:02:43,240 --> 00:02:46,340 mengembalikan false yang berarti dalam array baru, itu tidak akan termasuk. 30 00:02:46,370 --> 00:02:50,890 Sekarang pada dasarnya logika yang sama untuk produk yang tersedia, di sana 31 00:02:50,900 --> 00:02:55,530 kita hanya perlu memeriksa semua produk yang tersedia dan menyaring produk di sana. 32 00:02:55,550 --> 00:03:01,090 Ini adalah satu perubahan yang perlu kita lakukan, perubahan lain perlu dilakukan di troli namun karena 33 00:03:01,090 --> 00:03:06,400 ketika kita menghapus suatu produk, itu harus dihapus dari gerobak juga karena kalau tidak kita 34 00:03:06,400 --> 00:03:09,690 memiliki produk di gerobak yang tidak ada lagi . 35 00:03:09,820 --> 00:03:17,410 Jadi di sini, saya juga akan menambahkan kasus untuk menghapus produk dan karenanya Anda perlu mengimpor produk hapus dari produk tindakan di 36 00:03:17,410 --> 00:03:18,810 keranjang. Peredam 37 00:03:18,820 --> 00:03:20,290 js juga dan di 38 00:03:23,060 --> 00:03:27,830 sini, kami perlu memastikan bahwa kami menghapus produk dari keranjang jika sudah dihapus. 39 00:03:29,670 --> 00:03:36,150 Jadi di sini di troli, tentu saja kami mendapatkan ID produk kami dari produk yang 40 00:03:36,300 --> 00:03:47,940 ingin kami hapus, pid ini dalam tindakan yang dikirim, jadi oleh karena itu di sini kami mengembalikan status baru tempat kami ingin memperbarui keranjang kami dan jumlah 41 00:03:47,950 --> 00:03:53,680 total sedemikian rupa sehingga produk hilang dan hilang, maksud saya benar-benar dihapus dari 42 00:03:53,680 --> 00:04:01,920 keranjang, tidak hanya dikurangi satu tetapi benar-benar dihapus. Jadi item di sini pada akhirnya merupakan salinan dari 43 00:04:01,920 --> 00:04:02,760 item 44 00:04:02,760 --> 00:04:12,610 yang ada tanpa produk itu, jadi saya akan membuat konstan baru, item yang diperbarui di mana saya menyalin item negara saya yang ada 45 00:04:12,610 --> 00:04:13,910 di sini, seperti 46 00:04:15,010 --> 00:04:22,820 ini dan kemudian saya menghapus item yang diperbarui untuk tindakan pid, jadi saya menghapus item ini dari troli. 47 00:04:22,820 --> 00:04:29,600 Tentu saja ini hanya masuk akal jika item ini ada di troli, jadi saya pertama-tama akan memeriksa apakah item negara untuk tindakan 48 00:04:29,750 --> 00:04:33,940 pid, jika itu mengembalikan sesuatu yang berarti dan jika tidak, maka saya 49 00:04:34,220 --> 00:04:40,310 hanya akan mengembalikan negara yang ada karena maka saya sudah selesai dengan kasus ini, saya tidak perlu mengubah apa 50 00:04:40,310 --> 00:04:44,750 pun di negara bagian, jadi saya hanya akan mengembalikan negara yang ada tanpa perubahan. 51 00:04:45,230 --> 00:04:46,840 Jika saya berhasil melewati ini 52 00:04:46,850 --> 00:04:52,330 jika memeriksa, maka saya tahu bahwa produk dengan ID yang akan kami hapus adalah bagian dari item tersebut. 53 00:04:52,340 --> 00:05:00,790 Jadi saya melanjutkan menyalin item saya, kemudian menghapus produk dari sana tetapi sebelum saya melakukannya, dapatkan 54 00:05:00,790 --> 00:05:11,970 total item dengan mengakses item negara untuk tindakan pid dan kemudian di sana, tentu saja kita memiliki ini, jika kita melihat keranjang 55 00:05:11,970 --> 00:05:20,150 model barang yang saya maksud, kami memiliki kolom jumlah ini di sini, jadi pada akhirnya 56 00:05:20,150 --> 00:05:27,300 di sini saya perlu menghapus jumlahnya. Saya tertarik dengan jumlahnya karena sekarang saya dapat memperbarui item 57 00:05:27,300 --> 00:05:34,440 saya di sana dengan item yang diperbarui di mana saya menghapusnya dengan kata kunci hapus dan jumlah total keranjang adalah jumlah 58 00:05:34,620 --> 00:05:44,540 total negara dikurangi total item, sehingga total keranjang ini barang yang telah kami tambahkan sebelumnya. Jadi sekarang kami memperbarui keranjang dengan tepat 59 00:05:44,540 --> 00:05:45,760 juga 60 00:05:45,860 --> 00:05:50,600 saat kami menghapus ini. Sekarang kita hanya perlu mengirim penghapusan 61 00:05:50,660 --> 00:05:52,960 ini, jadi kembali ke 62 00:05:52,990 --> 00:06:00,170 produk pengguna, di sini di delete, kami ingin mengirim. Jadi dari React Redux kita dapat mengimpor menggunakan dispatch 63 00:06:00,170 --> 00:06:04,140 untuk mendapatkan akses ke fungsi dispatch di sini dengan memanggil 64 00:06:04,490 --> 00:06:12,290 use dispatch seperti yang kita lakukan berkali-kali sebelum dan kemudian di sini, ketika delete ditekan, kita dapat mengirim aksi kita 65 00:06:12,290 --> 00:06:12,980 dan 66 00:06:12,980 --> 00:06:13,870 untuk itu 67 00:06:13,880 --> 00:06:24,130 tentu saja, kita perlu untuk mengimpor tindakan ini, jadi mari kita lakukan ini, mari kita impor mungkin semuanya sebagai tindakan produk dari folder toko, di sana 68 00:06:24,160 --> 00:06:29,650 dari folder tindakan dan di sana dari file produk dan sekarang kami menggunakan tindakan 69 00:06:29,650 --> 00:06:36,100 produk di sana ketika kami mengirim ini untuk memanggil hapus produk dan meneruskan ID produk yang tentu 70 00:06:36,100 --> 00:06:40,340 saja adalah itemData. barang. id di sini karena kita 71 00:06:40,480 --> 00:06:46,830 akan melalui semua produk di sini dan itu pada dasarnya berarti itemData itu. item merujuk pada contoh model produk kami, 72 00:06:46,840 --> 00:06:51,870 setiap instance memiliki properti ID dan kami meneruskan ini untuk menghapus produk. 73 00:06:51,940 --> 00:06:58,900 Jadi jika kita coba ini dan kita pergi ke admin dan saya klik hapus pada baju merah, memang sudah hilang di sini dan jika 74 00:06:58,900 --> 00:07:01,960 saya kembali ke produk, itu sudah ada di sini juga. 75 00:07:02,200 --> 00:07:08,680 Sekarang jika kita memuat ulang ini dan saya memang menambahkan baju merah ke keranjang, Anda melihatnya di sini, saya menambahkannya dua kali. 76 00:07:08,680 --> 00:07:16,380 Sekarang jika saya pergi ke admin dan saya menghapusnya dan saya kembali ke produk dan ke troli, troli sekarang kosong. 77 00:07:16,520 --> 00:07:23,090 Di sisi lain, jika saya menambahkan katakanlah karpet dan cangkir kopi sekarang, kembali ke admin, 78 00:07:23,090 --> 00:07:28,460 hapus karpet tetapi bukan cangkir kopi, Anda lihat di produk, cangkir kopi 79 00:07:28,520 --> 00:07:35,850 masih di dalam kereta, sehingga tidak kerja. Ngomong-ngomong, Anda mungkin memperhatikan bahwa cangkir kopi agak terpotong di sini, itu sesuatu 80 00:07:35,880 --> 00:07:41,240 yang akan saya perbaiki nanti bersama dengan fakta bahwa di sini, kita sebenarnya melihat minus sekarang untuk total, itu 81 00:07:41,250 --> 00:07:43,680 juga sesuatu yang akan saya perbaiki dalam kedua. 82 00:07:43,680 --> 00:07:45,810 Pertama-tama mari kita pastikan bahwa bagaimanapun 83 00:07:45,840 --> 00:07:52,830 kita di bagian admin pergi ke layar edit atau bahwa kita juga memiliki item di sana yang memungkinkan kita 84 00:07:52,830 --> 00:07:54,720 untuk menambahkan produk baru.