Mengubah suai Sifat Keadaan Bersarang dalam React
Sifat keadaan bersarang menyediakan organisasi logik untuk struktur keadaan kompleks dalam React. Walau bagaimanapun, cubaan mengemas kini sifat ini secara langsung menggunakan this.setState tidak menghasilkan hasil yang diingini.
Penyelesaian:
Untuk mengemas kini sifat keadaan bersarang dengan betul, ikut langkah ini untuk memelihara kebolehubahan negeri:
Buat Salin:
Ubah suai Salin:
Kemas kini Keadaan:
Untuk Negeri Sangat Bersarang:
Jika keadaan sangat bersarang, adalah tidak praktikal untuk menggunakan pengendali penyebaran pada setiap peringkat. Pertimbangkan untuk menggunakan pakej immutability-helper untuk kemas kini yang lebih elegan:
this.setState(prevState => ({ ...prevState, someProperty: { ...prevState.someProperty, someOtherProperty: { ...prevState.someProperty.someOtherProperty, anotherProperty: { ...prevState.someProperty.someOtherProperty.anotherProperty, flag: false } } } }));
Immutability-Helper:
Pakej immutability-helper menyediakan sintaks yang lebih ringkas dan intuitif untuk mengemas kini sifat keadaan bersarang:
import {update} from "immutability-helper"; this.setState(update(this.state, { someProperty: { someOtherProperty: { anotherProperty: { flag: {$set: false} } } } }));
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Sifat Negeri Bersarang dengan Betul dalam React?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!