Ini menyimpulkan bagian resep favorit, sekarang saatnya untuk memastikan bahwa
kami benar-benar menyaring resep kami karena perlu diingat pada layar kategori makanan, kami sebenarnya mengambil
makanan yang difilter dari negara bagian kami dan sekarang tentu saja di negara
bagian kami, yang memfilter properti properti selalu menampung semua makanan dan tidak pernah berubah dan itu adalah sesuatu yang ingin
saya ubah sebagai langkah berikutnya.
Sekali lagi, mari kita mulai dengan menambahkan tindakan yang sesuai yang dimulai dengan menambahkan pengidentifikasi yang
saya ekspor di sini dan saya akan menamai set filter ini dan mengatur filter di sini sebagai teks juga dan
membuat filter set fungsi pencipta action set pembuat
tindakan dan di sini saya berharap untuk dapatkan argumen dengan pengaturan filter saya, yang seharusnya
menjadi objek pada akhirnya dengan isGlutenFree, isLactoseFree, isVegan dan isVegetarian
data di dalamnya dan saya akan mengembalikan objek tindakan di mana jenis kursus diatur filter, jadi pengidentifikasi ini
dan kemudian filter, itu objek pengaturan filter saya, jadi objek ini dengan semua nilai benar atau
salah untuk empat kriteria filter berbeda yang
kita miliki. Itu pencipta aksi,
sekarang apa yang harus kita lakukan di peredam? Dalam peredam, kita sekarang perlu menangani
case baru itu, jadi di sini sebelum default, saya akan menambahkan case di
mana saya menangani filter set dan untuk itu Anda perlu mengimpor pengidentifikasi filter set dari tindakan makanan
dan dalam filter set, Tujuannya sekarang tentu saja adalah memperbarui makanan yang difilter untuk mencerminkan filter yang disiapkan.
Sekarang perlu diingat bahwa ini sebenarnya mengandung kunci filter
yang pada akhirnya akan menjadi objek Javascript yang memiliki sesuatu seperti glutenFree: true, lactoseFree: false dan kami ingin mencerminkan
pengaturan ini dalam array makanan yang difilter kami. Jadi di sini, saya akan memiliki filter terapan saya katakanlah di mana saya cukup mengekstrak filter
dari tindakan, itu tentu saja
langkah Anda bisa tinggalkan,
saya hanya mencoba untuk menulis kode yang dapat dimengerti yang berbicara untuk dirinya sendiri.
Jadi saya hanya mengekstrak filter yang dibuat oleh pengguna dan kami
akan berhati-hati mengirimkan
tindakan ini nanti dan kemudian di sini, saya akan mengatur makanan yang difilter saya, membuat makanan yang difilter baru konstan berdasarkan total makanan saya, jadi tidak
makanan yang difilter tetapi semua makanan yang tersedia dan di sana, saya ingin
menyaringnya
dengan metode filter bawaan yang ditawarkan Javascript. Filter selalu mengembalikan array baru yang bagus karena saya tidak ingin
mengedit array yang ada
dulu, saya ingin mendapatkan array baru dan itu akan menjadi array di mana ia menyimpan semua item yang fungsi ini kita lewati. filter
mengembalikan true dan menjatuhkan semua item di mana kami mengembalikan false. Fungsi ini akan berjalan untuk setiap makan dan kemudian sekarang
dalam fungsi ini, kita bisa melalui semua filter yang ditetapkan pengguna dan memeriksa apakah makan itu cocok
dengan salah satu filter dan karena itu harus dijatuhkan atau jika ia melewati semua filter sehingga bisa dikatakan
dan harus disimpan.
Jadi di sini kita dapat memeriksa apakah filter. glutenFree dan saya hanya berharap bahwa filter saya,
permisi menerapkan filter, bahwa objek ini saya dapatkan memiliki kunci bebas gluten.
Jika itu benar dan makanan saya tidak bebas gluten dan karenanya saya perlu menambahkan tanda seru di sini, maka saya
tahu bahwa makanan ini harus dijatuhkan, kan? Karena tidak bebas gluten tetapi saya memiliki
filter yang seharusnya bebas gluten. Jadi saya akan mengembalikan false dan saya tidak
peduli dengan filter
lain karena sudah tidak cocok dengan filter ini, saya bisa menjatuhkannya. Jika kita berhasil melewati ini jika memeriksa, kita dapat memeriksa filter berikutnya, filter terapan
laktosa gratis.
Jika itu benar dan makanan saya tidak bebas laktosa, logika
yang sama seperti sebelumnya dengan glutens, saya dapat mengembalikan false dan menjatuhkannya.
Selanjutnya jika dicentang, jika filter diterapkan vegetarian diatur dan makanan saya bukan vegetarian, jadi logika yang sama seperti sebelumnya lagi, saya bisa menjatuhkannya karena saya mungkin telah
melewati filter lain tetapi jika makanan itu bukan vegetarian tetapi saya mencari
makanan vegetarian , maka saya harus menyingkirkannya. Dan yang tak kalah pentingnya, filter
yang diterapkan. vegan.
Jika saya mencari makanan vegan tetapi makanan saya bukan vegan di sini dan ngomong-ngomong, di sini saya hanya memanfaatkan semua sifat yang merupakan
bagian dari makanan saya, jika kita melihat model
kita, pada waktu makan, ada kami memiliki isGlutenFree, isVegan, dan sebagainya sebagai properti pada setiap kali makan, sehingga
setiap kali makan memiliki informasi untuk filter mana yang harus dimasukkan atau dikecualikan, sehingga setiap
makanan
memiliki itu dan saya hanya menggunakan ini di peredam.
Jadi karena itu di sini dalam kasus vegan, saya juga ingin mengembalikan false dan hanya jika saya berhasil melewati semua ini
jika cek saya tahu saya memiliki makanan yang cocok dengan semua filter yang saya set dan di sana untuk saat ini, saya dapat mengembalikan true.
Saya masih berada di dalam metode filter dan saya mengembalikan true yang berarti
saya ingin menjaga makanan itu tetap konstan dalam makanan yang difilter, yang merupakan array baru saya dan sekarang secara keseluruhan setelah mendapatkan array makanan yang
difilter ini, saya harus mengembalikan status baru dengan menyalin kondisi lama dan kemudian saya ingin mengganti makanan saya yang disaring di
sini dengan makanan yang disaring yang saya dapatkan di sini. Jadi makanan yang disaring di sebelah kiri usus besar
adalah properti
di objek negara, jadi pada dasarnya properti ini dan makanan yang disaring di sisi kanan usus besar mengacu
pada konstanta ini, saya
juga dapat memberi nama makanan yang disaring yang diperbarui ini agar lebih jelas tentang hal ini.
Ini adalah bagaimana negara saya diperbarui ketika filter diatur.
Sekarang tentu saja, kita perlu memastikan bahwa kita juga mengirimkan tindakan ini pada akhirnya.