Ayo pergi ke komponen pencarian kami.
Komponen pencarian harus bertanggung jawab untuk bidang inputnya di mana kita misalnya dapat memasukkan apel
dan kemudian kita hanya melihat item yang cocok dengan namanya.
Dan kami sedang melakukan pencarian nama lengkap di sini sehingga kami tidak akan mencari aplikasi tetapi apel memberi sedikit apel
pisang memberi kita semua pisang.
Itulah idenya di sini.
Pemberitahuan Merah tidak berfungsi tentu saja karena pencarian sebagai berikut cukup kosong tidak memiliki logika yang berarti
di sana.
Sekarang saatnya untuk berubah seiring dengan pengetahuan yang kami peroleh sejauh ini.
Pertama-tama mari kita pastikan kita mengatur input pengguna sehingga kita dapat mencambuk menambahkan impor untuk menggunakan keadaan di
sini seperti itu kemudian di sini lagi menggunakan susunan array D untuk memiliki filter yang dimasukkan katakanlah dan atur filter yang dimasukkan
dan kemudian gunakan status dengan string kosong dan mengikat tes di sana mengikat nilai untuk memasukkan filter dan mengikat pada perubahan di sini
ke fungsi yang pembaruan mengatur filter yang dimasukkan kita mendapatkan acara secara otomatis diteruskan dengan bereaksi pada akhirnya
dan kemudian kita sebut setel filter yang dimasukkan dan kita atur ini ke target acara nilai.
Jadi itu adalah sesuatu yang kami lakukan sebelumnya hanya menyimpan nilai di sini.
Tetapi sekarang idenya adalah bahwa setiap kali pengguna mengetik sesuatu yang Anda dengar, kami mencoba mengambil data
yang difilter dari firebase.
Bagaimana kita bisa membuat ini berhasil.
Yah Anda bisa mendaftarkan fungsi untuk perubahan yang pada dasarnya mengirim permintaan HBP pada setiap keystroke akan
bekerja di sini juga.
Saya memperbarui nilai aman dan setiap keystroke dan alih-alih yang dapat kita lakukan
adalah kita dapat menggunakan efek penggunaan di sini ditambahkan di sini dan menguraikan dalam fungsi yang seharusnya membuat permintaan HBP dan kita cukup menentukan filter
yang dimasukkan sebagai ketergantungan.
Dan ini berarti fungsi ini akan mengeksekusi setiap kali filter yang dimasukkan berubah.
Jadi itu memiliki hasil yang sama tetapi menurut saya itu sedikit lebih elegan karena kami benar-benar merangkul
ide orang-orang di sini risiko memadukan disfungsi logika kami hanya memperbarui apa yang dimasukkan pengguna atau hanya pembaruan untuk menyatakan di
mana kami menyimpan apa yang dimasukkan dan dimasukkan oleh pengguna. kemudian gunakan efek akan secara otomatis
dieksekusi setelahnya dan melakukan apa pun yang ingin kita lakukan untuk setiap perubahan.
Jadi di sini saya ingin mengirim permintaan HDP jadi saya akan pergi ke bahan J. S. dan pada dasarnya ambil ke
logika yang
saya miliki di sini untuk mengambil permintaan mari kita ambil itu salin dan tambahkan di sini digunakan efek Anda atau
transformasi yang sama.
Tapi tentu saja pada akhirnya saya tidak memanggil set bahan pengguna tetapi saya ingin memicu sesuatu dalam
bahan.
J. S. Benar karena ayah adalah tempat kami mengelola bahan-bahan kami.
Di situlah kami juga menggunakan komponen pencarian.
Jadi pada akhirnya kita harus membuat koneksi antara pencarian dan komponen bahan ini
untuk memperbarui bahan-bahan di sini setiap kali kita mengambil bahan baru dalam pencarian, katakanlah Chase.
Sekarang tentu saja biasanya untuk itu kami akan menggunakan alat peraga sehingga kami dapat menentukan katakanlah alat peraga pada bahan beban.
Nama sepenuhnya terserah Anda memanggil kami sebagai fungsi dan meneruskan bahan dimuat kami seperti ini.
Jadi semua bahan muat sekarang merupakan fungsi yang saya harapkan pada komponen pencarian saya.
Jadi dalam komponen bahan kita harus menentukan prop ini pada komponen pencarian dan kemudian meneruskan sebuah
titik atau menambahkan fungsi yang harus dijalankan ketika semua bahan memuat disebut dalam komponen pencarian.
Kami belum memiliki fungsi tersebut.
Jadi izinkan saya menambahkan yang baru mungkin di sini di bagian paling atas semua bernama sebagai penangan bahan yang disaring atau apa pun
yang Anda ingin menyebutnya.
Kami mendapatkan bahan yang difilter kami atau apa pun yang Anda ingin menyebutnya sebagai argumen dan ide di sini adalah sederhana yang
kami sebut bahan pengguna yang ditetapkan.
Kami disetel sama dengan bahan yang difilter karena bahan tersebut harus sudah dalam format yang benar.
Jadi fungsinya sangat sederhana.
Kemudian meneruskan pointer pada fungsi ini untuk memuat bahan pada komponen pencarian sehingga kita dapat memanggil
fungsi ini dari dalam komponen pencarian.
Sekarang kembali dalam komponen pencarian mengingat ini sekarang dengan Ayah kami memiliki fakta yang menjalankan perubahan filter apa pun yang
dimasukkan tetapi sekarang di sini kita mendapatkan peringatan.
Pada akhirnya masalahnya adalah kita mengandalkan alat peraga di sini.
Tetapi kami belum menetapkan mereka sebagai ketergantungan dan itu berarti bahwa jika props diubah, komponen
ini akan di-render, tetapi efek ini tidak akan dijalankan kembali karena kami belum menginformasikan efek tentang fakta bahwa
props adalah dependensi.
Sekarang Anda mungkin berkata baik, saya hanya menunjuk fungsi di sini bahwa fungsi tidak boleh berubah.
Jadi sebenarnya itu tidak boleh dijalankan kembali jika alat peraga berubah.
Yah Anda tidak boleh menipu tentang dependensi Anda.
Merupakan praktik yang baik untuk selalu jelas tentang semua dependensi yang Anda miliki di sini, mungkin sebagai dependensi.
Tapi tetap saja kita akan memiliki masalah dengan itu.
Sekarang apakah mempengaruhi akan menjalankan kembali setiap kali alat peraga berubah.
Itu pada dasarnya terjadi setiap kali sesuatu yang dilewatkan ke komponen ini di sini berubah atau setiap kali apa pun
dalam komponen induk berubah.
Itu semua bukan yang kita inginkan.
Kami hanya ingin menjalankan kembali fungsi ini jika semua memuat bahan.
Jadi jika fungsi ini menunjuk pada jika itu berubah dan untuk itu kita dapat menggunakan sejumlah sintaks javascript modern
mungkin di sini di bagian paling atas kita melihat array untuk penataan.
Ada juga konsep yang disebut Object dis structuring Brooks dengan cara yang sangat mirip.
Kami memiliki kurung kurawal dalam hal ini di sisi kiri tanda sama dengan di sisi kanan kita
harus objek yang ingin kita struktur atau dari mana kita ingin mengekstrak properti.
Dan kemudian di sini antara kurung kurawal di sisi kiri Anda menentukan nama-nama kunci dalam objek yang ingin Anda ekstrak
dan yang ingin Anda simpan dalam variabel yang terpisah.
Jadi dalam kasus saya di sini yang akan memuat bahan.
Saya tahu ini akan ada sebagai kunci dalam alat peraga.
Saya menyebutnya di sini dan sekarang saya hanya menariknya keluar dan menyimpannya secara terpisah di
memuat konstanta Regan.
Jadi sekarang adalah konstanta yang terpisah.
Di sini kita bisa memanggil bahan muat dan kita bisa menentukan semua bahan memuat sebagai ketergantungan sekarang.
Dan sekarang ini hanya akan menjalankan kembali efek ini jika nilai ini benar-benar berubah.
Jadi jika ada hal lain dan alat peraga yang diubah ini tidak akan dijalankan kembali hanya jika fungsi ini berubah atau jika filter
yang dimasukkan berubah dalam kasus ini kami akan mengirimkan permintaan di sini dan permintaan ini akan mendapatkan data kami.
Kemudian panggil memuat bahan pada akhirnya dan itu harus mengatur bahan kami di sini sekarang.
Namun permintaan saat ini tidak memasukkan D yang dimasukkan ke dalam akun.
Mengambil semua bahan tentu saja harus mengambil bahan yang disaring sebagai gantinya.
Untungnya firebase mendukung pemfilteran kita dapat menambahkan beberapa izin permintaan yang untuk memenangkan variabel terpisah di sini sampai akhir ini Anda
adalah El dan saya ingin memiliki orangtua kueri yang berbeda tergantung pada apakah kita memasukkan sesuatu
atau tidak.
Jadi, jika panjang filter yang dimasukkan sama dengan nol, maka periode kueri saya tidak akan apa-apa. Saya tidak akan parameter apa
pun sehingga hanya string kosong.
Kalau tidak, itu akan menjadi string yang saya gunakan kembali mengambil di sini.
Jadi ini bukan tanda kutip tunggal tetapi tanda centang kembali sehingga kita dapat menggunakan interpolasi
string untuk menyuntikkan nilai secara dinamis di sini dan kemudian Anda harus menambahkan tanda tanya yang diurutkan secara tertulis seperti pembukaan dan penutupan tanda
kutip ganda yang sama dan di antara tanda kutip ganda, bidang yang mana goyah dalam kasus kami.
Itulah bidang judul lalu dan persen sama dengan Q yang ditulis seperti tanda sama dengan tanda kutip ganda yang membuka dan
menutup.
Dan sekarang dengan interpolasi string yang dilakukan dengan tanda dolar dan kemudian membuka
dan menutup kurung kurawal nilai yang dimasukkan dan dimasukkan menyaring kueri ini mengatur kueri yang merupakan string kosong atau
string ini di sini dan ini hanyalah sintaks kombinasi dari permintaan perm dipahami oleh firebase 2 di
filter akhir bidang judul untuk nilai yang dimasukkan di sini kita harus menambahkan tidak pada akhir permintaan kami
di sini sehingga kami dapat menambahkan kueri tambah ditambah kueri di sini pada akhirnya dan itu bahkan dengan string kosong
atau itu setup kueri yang valid sekarang untuk membuat pekerjaan ini kita semua perlu membuat sedikit penyesuaian di firebase, pergi
ke aturan di database Anda.
Sekarang kita perlu menambahkan entri di sini untuk membuka kunci penyaringan menambahkan tanda kutip ganda di sini setelah dibaca hal
yang benar dan ada menambahkan bahan.
Jadi pada dasarnya nama yang Anda miliki sebagai catatan di sini Anda mengirim data Anda ke bahan-bahan maka nilainya tidak
ada objek delapan dan Anda berakhir dengan membuka dan menutup kurung kurawal dan kemudian ada menambahkan string
lain dengan tanda kutip ganda indeks dot yang merupakan perintah dipahami oleh Firebase dan kemudian
ini adalah array lagi dengan nilai string di sana yang pada dasarnya adalah nama bidang yang ingin Anda
saring.
Jadi Anda perlu menambahkan pengaturan ini di sini ke aturan firebase Anda dengan pengaturan yang bisa kami filter untuk judulnya.
Sekarang kami dapat mengirim permintaan di sini sekarang permintaan harus dikirim setiap kali kami mengetikkan sesuatu di sini.
Jadi sekarang mari kita simpan itu.
Kembali untuk membungkus dan Anda melihat oh kami tampaknya berada dalam loop tak terbatas lagi di sini jadi untuk meninggalkannya mari kita mengomentari bahan-bahan
beban dan keamanan dan memuat ulang apa yang menyebabkan loop tak terbatas ini.