Show
Anda dapat mengaktifkan mode ketat untuk bagian mana pun dari aplikasi Anda. Sebagai contoh
Dalam contoh di atas, pemeriksaan mode ketat tidak akan dijalankan terhadap komponen 1 dan 2. Namun, _3 dan 4, serta semua keturunannya, akan mendapat cek
Fungsionalitas tambahan akan ditambahkan dengan rilis React yang akan datang Mengidentifikasi siklus hidup yang tidak amanSeperti yang dijelaskan dalam posting blog ini, metode siklus hidup lama tertentu tidak aman untuk digunakan dalam aplikasi async React. Namun, jika aplikasi Anda menggunakan pustaka pihak ketiga, akan sulit untuk memastikan bahwa daur hidup ini tidak digunakan. Untungnya, mode ketat dapat membantu dalam hal ini Saat mode ketat diaktifkan, React menyusun daftar semua komponen kelas menggunakan daur hidup yang tidak aman, dan mencatat pesan peringatan dengan informasi tentang komponen ini, seperti itu. Mengatasi masalah yang diidentifikasi oleh mode ketat sekarang akan memudahkan Anda untuk memanfaatkan rendering bersamaan dalam rilis React yang akan datang Peringatan tentang penggunaan API referensi string lamaSebelumnya, React menyediakan dua cara untuk mengelola referensi. API referensi string lama dan API callback. Meskipun string ref API lebih nyaman dari keduanya, itu memiliki beberapa kelemahan dan rekomendasi resmi kami adalah Bereaksi 16. 3 menambahkan opsi ketiga yang menawarkan kenyamanan referensi string tanpa kerugian apa pun _Karena referensi objek sebagian besar ditambahkan sebagai pengganti referensi string, mode ketat sekarang memperingatkan tentang penggunaan referensi string
Pelajari lebih lanjut tentang _6 API baru di siniPeringatan tentang penggunaan findDOMNode yang tidak digunakan lagiBereaksi digunakan untuk mendukung _8 untuk mencari pohon untuk node DOM yang diberikan instance kelas. Biasanya Anda tidak membutuhkan ini karena Anda bisa _8 juga dapat digunakan pada komponen kelas tetapi ini melanggar tingkat abstraksi dengan mengizinkan orang tua untuk menuntut agar anak-anak tertentu diberikan. Ini menciptakan bahaya pemfaktoran ulang di mana Anda tidak dapat mengubah detail penerapan komponen karena induk mungkin menjangkau simpul DOM-nya. 8 hanya mengembalikan anak pertama, tetapi dengan penggunaan Fragmen, komponen dapat merender beberapa node DOM. _8 adalah API yang dibaca satu kali. Itu hanya memberi Anda jawaban ketika Anda memintanya. Jika komponen anak merender simpul yang berbeda, tidak ada cara untuk menangani perubahan ini. Oleh karena itu _8 hanya berfungsi jika komponen selalu mengembalikan satu simpul DOM yang tidak pernah berubahSebagai gantinya, Anda dapat membuat ini eksplisit dengan meneruskan referensi ke komponen khusus Anda dan meneruskannya ke DOM menggunakan Anda juga dapat menambahkan simpul DOM pembungkus di komponen Anda dan melampirkan referensi langsung ke sana
Mendeteksi efek samping yang tidak terdugaSecara konseptual, React bekerja dalam dua fase
Fase komit biasanya sangat cepat, tetapi rendering bisa lambat. Untuk alasan ini, mode bersamaan yang akan datang (yang belum diaktifkan secara default) memecah pekerjaan rendering menjadi beberapa bagian, menjeda dan melanjutkan pekerjaan untuk menghindari pemblokiran browser. Ini berarti bahwa React dapat memanggil daur hidup fase render lebih dari satu kali sebelum melakukan, atau mungkin memanggilnya tanpa melakukan sama sekali (karena kesalahan atau interupsi dengan prioritas lebih tinggi) Siklus hidup fase render mencakup metode komponen kelas berikut
Karena metode di atas mungkin dipanggil lebih dari sekali, penting agar metode tersebut tidak mengandung efek samping. Mengabaikan aturan ini dapat menyebabkan berbagai masalah, termasuk kebocoran memori dan status aplikasi yang tidak valid. Sayangnya, sulit untuk mendeteksi masalah ini karena seringkali tidak deterministik Mode ketat tidak dapat secara otomatis mendeteksi efek samping untuk Anda, tetapi dapat membantu Anda menemukannya dengan membuatnya sedikit lebih deterministik. Ini dilakukan dengan secara sengaja mengaktifkan fungsi-fungsi berikut
Sebagai contoh, perhatikan kode berikut
Sekilas, kode ini sepertinya tidak bermasalah. Tetapi jika 6 bukan , maka membuat instance komponen ini beberapa kali dapat menyebabkan status aplikasi tidak valid. Bug halus semacam ini mungkin tidak muncul selama pengembangan, atau mungkin terjadi secara tidak konsisten sehingga diabaikanDengan metode pemanggilan ganda secara sengaja seperti konstruktor komponen, mode ketat membuat pola seperti ini lebih mudah dikenali
Mendeteksi API konteks lamaAPI konteks lama rawan kesalahan, dan akan dihapus di versi utama mendatang. Ini masih berfungsi untuk semua 16. x rilis tetapi akan menampilkan pesan peringatan ini dalam mode ketat Baca dokumentasi API konteks baru untuk membantu bermigrasi ke versi baru Memastikan keadaan yang dapat digunakan kembaliDi masa mendatang, kami ingin menambahkan fitur yang memungkinkan React menambah dan menghapus bagian UI sambil mempertahankan status. Misalnya, ketika pengguna menjauh dari layar dan kembali, React harus dapat segera menampilkan layar sebelumnya. Untuk melakukan ini, React akan mendukung remount pohon menggunakan status komponen yang sama yang digunakan sebelum unmount Fitur ini akan memberikan React kinerja yang lebih baik secara out-of-the-box, tetapi membutuhkan komponen yang tahan terhadap efek yang dipasang dan dihancurkan berkali-kali. Sebagian besar efek akan berfungsi tanpa perubahan apa pun, tetapi beberapa efek tidak membersihkan langganan dengan benar dalam panggilan balik penghancuran, atau secara implisit menganggapnya hanya dipasang atau dihancurkan satu kali Untuk membantu mengatasi masalah ini, React 18 memperkenalkan pemeriksaan khusus pengembangan baru ke Strict Mode. Pemeriksaan baru ini akan secara otomatis meng-unmount dan me-remount setiap komponen, setiap kali sebuah komponen dipasang untuk pertama kali, memulihkan status sebelumnya pada pemasangan kedua Untuk mendemonstrasikan perilaku pengembangan yang akan Anda lihat dalam Mode Ketat dengan fitur ini, pertimbangkan apa yang terjadi ketika React memasang komponen baru. Tanpa perubahan ini, ketika sebuah komponen dipasang, React menciptakan efeknya
Dengan Strict Mode yang dimulai pada React 18, setiap kali sebuah komponen dipasang dalam pengembangan, React akan segera mensimulasikan unmount dan remounting komponen tersebut
Pada pemasangan kedua, React akan memulihkan keadaan dari pemasangan pertama. Fitur ini mensimulasikan perilaku pengguna seperti pengguna tab menjauh dari layar dan kembali, memastikan bahwa kode akan menangani pemulihan status dengan benar Bagaimana cara menghapus elemen HTML di react JS?removeElement() menghapus elemen dengan mengembalikan kondisi dari callback filter() yang benar hanya untuk elemen dalam larik yang tidak memiliki indeks yang diteruskan ke removeIndex( .
Bagaimana Anda menghapus elemen dalam HTML?Metode remove() menghapus elemen (atau simpul) dari dokumen.
Bagaimana cara menghapus elemen HTML secara dinamis dalam JavaScript?var A = dokumen. getElementById('afiliasi'); . parentNode. hapusAnak(A);
Bagaimana cara menghapus elemen HTML di JavaScript?Untuk menghapus elemen HTML yang ada, pertama-tama kita harus memilih elemen yang akan dihapus dari dokumen. Kemudian, gunakan metode seperti remove() dan removeChild() di JavaScript untuk menghapus elemen dari dokumen. |