Komponen yang tidak terkawal dalam React adalah di mana data bentuk dikendalikan oleh DOM itu sendiri, bukannya diuruskan oleh keadaan komponen. Untuk membuat komponen yang tidak terkawal, anda mengikuti langkah -langkah ini:
Gunakan Prop defaultValue
: Daripada menggunakan value
untuk menetapkan nilai awal elemen borang (yang akan membuatnya dikawal), anda menggunakan defaultValue
. Sebagai contoh, untuk medan input, anda akan lakukan:
<code class="jsx"><input type="text" defaultvalue="Initial Value"></code>
Mengakses data melalui ref : Oleh kerana data tidak diuruskan oleh keadaan React, anda memerlukan cara untuk mengakses nilai semasa apabila diperlukan. Anda menggunakan sistem ref
React untuk membuat rujukan kepada nod DOM. Inilah cara anda melakukannya:
<code class="jsx">class UncontrolledForm extends React.Component { constructor(props) { super(props); this.inputRef = React.createRef(); } handleSubmit = (event) => { event.preventDefault(); console.log('Input Value:', this.inputRef.current.value); } render() { return ( <form onsubmit="{this.handleSubmit}"> <input type="text" defaultvalue="Initial Value" ref="{this.inputRef}"> <button type="submit">Submit</button> </form> ); } }</code>
Dengan mengikuti langkah -langkah ini, anda boleh membuat komponen yang tidak terkawal dalam React, di mana data bentuk dikendalikan secara langsung oleh DOM.
Menggunakan komponen yang tidak terkawal dalam aplikasi React dilengkapi dengan beberapa faedah:
Untuk mengakses nilai komponen yang tidak terkawal dalam React, anda biasanya menggunakan sistem ref
. Inilah cara anda boleh melakukannya:
Buat ref : Dalam komponen anda, buat ref menggunakan React.createRef()
atau cangkuk useRef
dalam komponen berfungsi.
<code class="jsx">// In a class component constructor(props) { super(props); this.inputRef = React.createRef(); } // In a functional component const inputRef = useRef(null);</code>
Lampirkan ref ke elemen DOM : Apabila memberikan elemen borang anda, lulus ref
kepadanya.
<code class="jsx">// Class component <input type="text" defaultvalue="Initial Value" ref="{this.inputRef}"> // Functional component <input type="text" defaultvalue="Initial Value" ref="{inputRef}"></code>
Akses Nilai : Anda boleh mengakses nilai komponen yang tidak terkawal apabila diperlukan, seperti penyerahan borang atau sebarang acara lain. Gunakan ref.current.value
untuk mendapatkan nilai semasa.
<code class="jsx">// In a class component handleSubmit = (event) => { event.preventDefault(); console.log('Input Value:', this.inputRef.current.value); } // In a functional component const handleSubmit = (event) => { event.preventDefault(); console.log('Input Value:', inputRef.current.value); }</code>
Dengan mengikuti langkah -langkah ini, anda boleh mengakses nilai komponen yang tidak terkawal secara berkesan dalam React.
Memilih antara komponen terkawal dan tidak terkawal bergantung kepada keperluan dan kerumitan khusus projek anda. Berikut adalah beberapa senario di mana anda mungkin lebih suka komponen yang tidak terkawal:
Secara umum, jika anda memerlukan lebih banyak kawalan ke atas data borang dan pengesahannya, komponen terkawal adalah pilihan yang lebih baik. Walau bagaimanapun, untuk senario yang lebih mudah atau prestasi kritikal, komponen yang tidak terkawal boleh menjadi baik.
Atas ialah kandungan terperinci Bagaimana anda membuat komponen yang tidak terkawal dalam React?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!