Saya baru mengenal Bereaksi JavaScript. Saya mencoba menonaktifkan tombol ketika bidang input kosong. Apa pendekatan terbaik dalam Bereaksi untuk ini?
Saya melakukan sesuatu seperti berikut:
<input ref="email"/>
<button disabled={!this.refs.email}>Let me in</button>
Apakah ini benar?
Ini bukan hanya duplikasi atribut dinamis, karena saya juga ingin tahu tentang mentransfer / memeriksa data dari satu elemen ke elemen lainnya.
Jawaban:
Anda harus menjaga agar nilai input saat ini dalam status (atau meneruskan perubahan nilainya hingga ke orang tua melalui fungsi panggilan balik , atau menyamping , atau <solusi manajemen kondisi aplikasi Anda di sini> sehingga akhirnya masuk kembali ke dalam komponen Anda sebagai penyangga) sehingga Anda dapat memperoleh penyangga yang dinonaktifkan untuk tombol tersebut.
Contoh menggunakan status:
sumber
disabled
, hanya dengan melekat pada suatu elemen, berarti elemen tersebut harus dinonaktifkan. Ini bukan omong kosong. Lihat ini: developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/…Menggunakan konstanta memungkinkan untuk menggabungkan beberapa bidang untuk verifikasi:
sumber
Cara lain untuk memeriksa adalah dengan menyelaraskan fungsi, sehingga kondisi akan diperiksa pada setiap render (setiap alat peraga dan perubahan status)
Ini bekerja:
tetapi ini tidak akan berhasil:
sumber
sederhana, mari kita asumsikan Anda telah membuat kelas penuh negara dengan memperluas Komponen yang berisi berikut
sumber