Kait useInsertionEffect React ialah versi khusus useEffect yang menjamin kesan sampingannya akan dijalankan sebelum sebarang kesan lain dalam komponen yang sama. Ini amat berguna untuk operasi DOM atau penyepaduan perpustakaan pihak ketiga yang bergantung pada DOM yang diberikan sepenuhnya sebelum pelaksanaan.
Apabila anda perlu memanipulasi DOM secara langsung selepas komponen dipaparkan, seperti menetapkan fokus, menatal ke elemen tertentu atau melampirkan pendengar acara.
Jika perpustakaan memerlukan DOM untuk bersedia sebelum fungsinya boleh dipanggil, useInsertionEffect memastikan ia dilaksanakan pada masa yang betul.
Untuk kesan yang bergantung pada reka letak komponen, seperti mengukur dimensi elemen atau mengira kedudukan.
import { useRef, useInsertionEffect } from 'react'; function MyComponent() { const inputRef = useRef(null); useInsertionEffect(() => { if (inputRef.current) { inputRef.current.focus(); } }, []); return ( <div> <input ref={inputRef} type="text" /> </div> ); }
Dalam contoh ini, useInsertionEffect digunakan untuk memastikan elemen input difokuskan sebaik sahaja ia dipaparkan. Ini menjamin bahawa pengguna boleh mula menaip dengan segera.
import { useInsertionEffect } from 'react'; function MyComponent() { useInsertionEffect(() => { const style = document.createElement('style'); style.textContent = ` .my-custom-class { color: red; font-weight: bold; } `; document.head.appendChild(style); return () => { style.remove(); }; }, []); return ( <div className="my-custom-class"> This text will have red and bold styles. </div> ); }
Dalam contoh ini, useInsertionEffect digunakan untuk menambahkan peraturan gaya tersuai secara dinamik pada kepala dokumen, memastikan ia digunakan sebelum sebarang kesan lain dalam komponen.
Penggunaan ReactInsertionEffect hook ialah alat yang berkuasa untuk memastikan kesan sampingan dilaksanakan pada masa yang betul, terutamanya apabila berurusan dengan operasi DOM atau perpustakaan pihak ketiga. Dengan memahami tujuan dan penggunaannya, anda boleh mencipta komponen React yang lebih dipercayai dan berprestasi.
Atas ialah kandungan terperinci Cangkuk `useInsertionEffect` React. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!