Bagaimana untuk menambah sifat secara dinamik berdasarkan keadaan dalam komponen React?
P粉665427988
2023-08-20 14:54:00
<p>Adakah terdapat cara untuk menambah sifat pada komponen React hanya apabila syarat tertentu dipenuhi? </p>
<p>Saya perlu menambah atribut yang diperlukan dan readOnly pada elemen borang berdasarkan syarat dalam panggilan Ajax yang diberikan selepas itu, tetapi saya tidak tahu bagaimana untuk menyelesaikan masalah ini kerana <code>readOnly="false"< /code> adalah berbeza sepenuhnya daripada Atribut yang ditinggalkan adalah berbeza. </p>
<p>Contoh di bawah sepatutnya menggambarkan apa yang saya mahukan, tetapi ia tidak berkesan. </p>
<blockquote>
<p>(Ralat penghuraian: pengecam yang tidak dijangka)</p>
</blockquote>
<pre class="brush:js;toolbar:false;">fungsi MyInput({diperlukan}) {
kembalikan <input classname="foo" {isRequired ? "required" : ""} />
}
</pra>
<p><br /></p>
jawapan juandemarco biasanya betul, tetapi ini ada pilihan lain.
Bina objek mengikut keinginan anda:
Gunakan hamparan untuk rendering, dan anda juga boleh memilih untuk menghantar prop lain.
Nampaknya, untuk sesetengah sifat, jika nilai yang dihantar kepada React bukan nilai sebenar, React akan secara bijak menghilangkan sifat tersebut. Contohnya:
Anda akan mendapat:
Kemas kini: Jika sesiapa ingin tahu tentang bagaimana dan mengapa ini berlaku, anda boleh mendapatkan butiran dalam kod sumber ReactDOM, khususnya di baris 30 dan 167 fail DOMProperty.js.