Pendekatan Imperatif untuk Mengemas kini Nested State
Dalam React, kemas kini keadaan tidak boleh diubah. Ini bermakna bahawa untuk mengemas kini objek atau tatasusunan bersarang, anda tidak boleh mengubah suai sifatnya dan mengharapkan perubahan dapat dilihat dalam UI. Sebaliknya, anda perlu mencipta objek atau tatasusunan baharu yang menyertakan nilai yang dikemas kini dan kemudian menyerahkannya kepada setState.
Pertimbangkan contoh berikut, di mana kita ingin mengemas kini sifat nama objek pada indeks 1 dalam tatasusunan item yang disimpan dalam keadaan:
<code class="javascript">handleChange: function (e) { // Make a copy of the items array let items = [...this.state.items]; // Make a copy of the item object at index 1 let item = {...items[1]}; // Change the name property of the copied item item.name = 'New Name'; // Replace the item at index 1 with the updated item items[1] = item; // Update the state with the new items array this.setState({items}); },</code>
Dalam pendekatan ini, kami menggunakan sintaks hamparan (...) untuk mencipta salinan cetek tatasusunan item dan objek item pada indeks 1. Kami kemudian mengubah suai sifat nama daripada item yang disalin dan gantikan item pada indeks 1 dengan versi yang dikemas kini. Akhir sekali, kami mengemas kini keadaan dengan tatasusunan item baharu.
Pendekatan ini mudah dan berfungsi dengan baik untuk kemas kini keadaan mudah. Walau bagaimanapun, ia boleh menjadi rumit dan terdedah kepada ralat untuk kemas kini keadaan kompleks yang melibatkan berbilang objek atau tatasusunan bersarang.
Atas ialah kandungan terperinci Bagaimanakah Anda Mengemas kini Keadaan Bersarang dalam Reaksi Menggunakan Pendekatan Imperatif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!