1 00:00:02,220 --> 00:00:09,860 Pada akhirnya loop tak terbatas ini di sini adalah biaya oleh ini pada ketergantungan bahan baku efek ini yang mengambil semua data kami 2 00:00:10,070 --> 00:00:15,640 akan menjalankan apa pun yang dimasukkan filter atau pada bahan baku diubah yang akan menjadi kasus 3 00:00:15,640 --> 00:00:21,530 untuk pencarian pertama kali dirender sehingga pasti akan mengambil kami data setiap kali pencarian diberikan tetapi penawaran 4 00:00:22,830 --> 00:00:27,750 mereka akan kami jalankan apa pun perubahan filter yang dimasukkan yang tidak pernah 5 00:00:27,750 --> 00:00:33,270 kami ubah karena Ayah hanya akan menjadi kasus jika Anda mengetik di sini atau jika semua 6 00:00:33,270 --> 00:00:40,320 bahan dimuat diubah yang kami ekstrak dari data properti kami adalah kasus komponen induk dirender kembali komponen induk dirender ulang karena 7 00:00:40,320 --> 00:00:45,340 pada akhirnya saat pertama kali kami memuat data, kami memanggil kembali semua bahan simpul 8 00:00:45,340 --> 00:00:50,490 yang menyebut fungsi penangan bahan penyaring ini dan dalam pemanggilannya mengatur bahan pengguna yang berubah 9 00:00:50,490 --> 00:00:58,230 menjadi keadaan yang kami render adalah komponen ini yang berarti bahwa di sini tentu saja kami juga membuat fungsi penangan bahan penyaring baru 10 00:00:58,230 --> 00:01:03,390 karena seluruh komponen ini memutarkan ulang dan pada akhirnya adalah hanya fungsi javascript yang tepat. 11 00:01:03,390 --> 00:01:10,410 Jadi, bahkan fungsi-fungsi yang Anda miliki di sana mereka masih menjalankannya lagi mereka masih dieksekusi lagi pada akhirnya. 12 00:01:10,440 --> 00:01:13,530 Ini hanya variabel yang sekarang menerima nilai baru. 13 00:01:13,530 --> 00:01:18,960 Tentu saja kita tahu itu memiliki logika yang sama seperti sebelumnya tetapi secara teknis itu adalah objek fungsi baru dalam JavaScript. Jadi itu 14 00:01:19,290 --> 00:01:20,270 adalah objek baru. 15 00:01:20,280 --> 00:01:28,480 Kami memberikan itu ke semua contoh memuat bahan dan Anda keberatan bagian dalam bagian pencarian jatuh. 16 00:01:28,490 --> 00:01:33,500 Ini berbeda dengan terakhir kali efek dieksekusi dan oleh karena itu Anda akan mengeksekusi 17 00:01:33,950 --> 00:01:40,190 kembali efek karena kami menulis ulang induk semua fungsi ini dibuat baru dan sementara kami mendapat nilai yang 18 00:01:40,280 --> 00:01:46,940 berbeda kami menjalankan kembali efek dan komponen pencarian untuk mencegah hal ini terjadi kami dapat menggunakan kait yang tidak pernah 19 00:01:47,030 --> 00:01:48,250 disediakan oleh reaksi. 20 00:01:48,380 --> 00:01:56,810 Itulah gunanya panggil balik. Masak kait panggilan balik panggilan AS memungkinkan Anda untuk membungkus salah satu fungsi Anda 21 00:01:56,810 --> 00:01:57,410 dengannya. 22 00:01:57,560 --> 00:02:02,750 Katakanlah ini fungsi pada Hak dari sama dengan tanda Anda menggunakan panggilan balik 23 00:02:02,750 --> 00:02:07,910 penggunaan keren dan hanya membungkus ini sekitar definisi fungsi Anda seperti ini. 24 00:02:07,910 --> 00:02:12,980 Dan sekarang Anda semua harus menggunakan argumen kedua untuk menggunakan callback argumen pertama adalah fungsi Anda 25 00:02:13,010 --> 00:02:16,100 argumen kedua selalu merupakan array dengan dependensi fungsi ini. 26 00:02:16,130 --> 00:02:21,100 Fungsi ini tidak memiliki dependensi karena mengatur daftar bahan pengguna sebagai dependensi khusus karena ini memang 27 00:02:21,120 --> 00:02:27,020 merupakan status pengembalian akhir dengan menggunakan sebagaimana memperbarui fungsi dengan menggunakan status penggunaan ke yang khusus dan selain itu kami 28 00:02:27,020 --> 00:02:28,760 tidak memiliki dependensi di sini. 29 00:02:28,760 --> 00:02:31,650 Jadi kita bisa menentukan array kosong di sini. 30 00:02:31,670 --> 00:02:34,560 Anda dapat memiliki semua bahan pengguna yang ditetapkan sebagai ketergantungan di sini. 31 00:02:34,610 --> 00:02:37,100 Itu masih tidak akan dijalankan kembali karena ini tidak pernah berubah. 32 00:02:37,160 --> 00:02:38,790 Itu dijamin dengan reaksi. 33 00:02:38,810 --> 00:02:40,270 Itu sebabnya Anda tidak bisa mengakuinya di sini. 34 00:02:40,280 --> 00:02:47,300 Anda juga dapat menentukan tetapi ini sekarang tidak akan pernah menjalankan kembali dan oleh karena itu apa yang dilakukan Rick 35 00:02:47,300 --> 00:02:53,960 adalah mencairkan fungsi Anda untuk Anda sehingga ia bertahan kembali atau siklus dan karena itu ketika komponen bahan 36 00:02:54,350 --> 00:02:58,870 membuat kembali fungsi khusus ini tidak dibuat kembali sehingga tidak akan berubah. 37 00:02:58,880 --> 00:03:05,090 Jadi apa yang kami lewati ke komponen pencarian untuk semua bahan memuat akan menjadi fungsi lama fungsi yang 38 00:03:05,090 --> 00:03:11,240 sama seperti pada siklus render sebelumnya dan oleh karena itu dalam komponen pencarian tentang efek penggunaan 39 00:03:11,240 --> 00:03:18,820 di sini pada pemeriksaan ini semua bahan muat tidak akan berubah dan oleh karena itu adalah fakta tidak akan dijalankan kembali. 40 00:03:18,830 --> 00:03:24,020 Jadi sekarang mari kita mengomentari memuat bahan kembali dan jika kita sekarang Safed karena kita tidak melihat loop tak 41 00:03:24,020 --> 00:03:29,180 terbatas masih satu siklus penyaji tambahan yang saya akan kembali dalam hitungan detik tetapi jika kita melihat pada 42 00:03:29,210 --> 00:03:35,150 tab jaringan tidak ada permintaan tambahan yang dikirim hanya jika saya mengetik di sini, kami mengirim permintaan tambahan dengan setiap penekanan tombol 43 00:03:35,150 --> 00:03:36,610 yang kami lihat penyaringan berfungsi. 44 00:03:36,620 --> 00:03:40,940 Misalnya jika dan untuk apel kita hanya melihat bahwa jika saya memasukkan sesuatu 45 00:03:41,360 --> 00:03:46,450 yang tidak masuk akal kita tidak melihat apa pun untuk pisang, kita melihat pisang yang berfungsi, 46 00:03:46,460 --> 00:03:53,360 kami mengirimkan permintaan dengan setiap penekanan tombol yang tidak mungkin tidak ideal dan kami memiliki render tambahan siklus awalnya jadi kita mungkin 47 00:03:53,360 --> 00:04:00,570 harus memperbaikinya tetapi kita tentu tidak memiliki loop tak terbatas lagi sebelum kita memastikan bahwa kami tidak mengirim permintaan dengan setiap penekanan tombol. 48 00:04:00,600 --> 00:04:06,660 Mari kita pastikan kita tidak perlu membuat render ekstra pada awalnya dan ini sebenarnya berasal dari permintaan HDP 49 00:04:06,720 --> 00:04:13,650 yang berlebihan yang kami kirim dengan terbuka oleh alat pengembang dan di sana untuk jaringan ketuk muat ulang dapatkan banyak 50 00:04:13,650 --> 00:04:19,300 permintaan pada akhir yang Anda lihat ada dua permintaan yang mengambil bahan-bahan kami. Dua permintaan 51 00:04:19,310 --> 00:04:25,280 ini, keduanya dikirim ke bahan-bahan. Jason firebase sekarang, mengapa kami memiliki dua permintaan yang dikirim ke sana? 52 00:04:25,280 --> 00:04:30,890 Yah karena kami mengirim satu di pencarian, kami di sini dan menggunakan fakta ketika komponen ini diberikan 53 00:04:31,070 --> 00:04:36,200 menjalankan disinfektan, itulah cara kerja efek yang mereka jalankan ketika komponennya diberikan karena semua dependensi 54 00:04:36,200 --> 00:04:41,510 ini tentu saja telah berubah dibandingkan dengan siklus render sebelumnya karena tidak ada Sudah menjadi siklus 55 00:04:41,510 --> 00:04:47,930 render sebelumnya sehingga hanya dapat dipanggil kembali dan data tentu saja filter yang dimasukkan pada awalnya kosong sehingga kami 56 00:04:47,930 --> 00:04:54,410 tidak memiliki set filter maka kami mengambil semua data dan kemudian kami memanggil memuat bahan untuk menggunakan bahan-bahan ini dengan 57 00:04:54,410 --> 00:04:59,930 baik dan selain itu kami juga ulang semua data pengambilan dalam komponen bahan di sana kami 58 00:05:00,260 --> 00:05:05,420 juga memiliki efek penggunaan yang kami hanya mengeksekusi sekali ketika komponen dimuat tetapi kami melakukan 59 00:05:05,870 --> 00:05:12,230 itu dan kemudian kami semua mengambil bahan sekarang karena kami sudah dijamin untuk mengambil bahan karena kami melakukan itu 60 00:05:12,230 --> 00:05:18,800 dalam pencarian kami tentu saja tidak memerlukan efek penggunaan tambahan di sini di komponen bahan sehingga kami dapat menyingkirkan itu 61 00:05:18,800 --> 00:05:21,620 karena kami mengambil bahan dengan komponen pencarian. 62 00:05:21,740 --> 00:05:25,910 Jadi dengan itu kami masih memuatnya tetapi sekarang kami menyingkirkan siklus render ekstra itu.