Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Memadam Item dengan Selamat daripada Susunan Negeri dalam React?

Bagaimana untuk Memadam Item dengan Selamat daripada Susunan Negeri dalam React?

DDD
Lepaskan: 2024-11-23 06:09:24
asal
486 orang telah melayarinya

How to Safely Delete Items from a State Array in React?

Memadamkan Item daripada Tatasusunan dalam React: Panduan

Dalam React, keadaan pengurusan adalah penting untuk mengekalkan integriti gelagat aplikasi anda dan pengalaman pengguna. Senario biasa melibatkan manipulasi tatasusunan dalam keadaan, seperti menambah, mengalih keluar atau mengemas kini item.

Untuk memahami cara memadamkan item daripada tatasusunan keadaan, mari kita pertimbangkan contoh mudah:

Anda ingin mempunyai senarai tiga orang: Bob, Sally dan Jack, disimpan dalam tatasusunan keadaan. Anda perlu boleh mengalih keluar mana-mana daripadanya daripada senarai, dan apabila dialih keluar, tatasusunan seharusnya tidak mempunyai sebarang slot kosong.

Dalam komponen React anda, anda mungkin mempunyai kod berikut:

getInitialState: function() {
  return{
    people: [],
  }
},

selectPeople(e){
  this.setState({people: this.state.people.concat([e.target.value])})
},

removePeople(e){
  var array = this.state.people;
  var index = array.indexOf(e.target.value); // Let's say it's Bob.
  delete array[index];
},
Salin selepas log masuk

Walau bagaimanapun, pelaksanaan fungsi removePeople() ini tidak akan berfungsi seperti yang dimaksudkan apabila dipanggil. Sebabnya terletak pada cara React mengendalikan mutasi keadaan.

Jangan Sekali-kali Secara Langsung Mutasi Keadaan dalam React

Apabila mengemas kini objek atau tatasusunan dalam keadaan, adalah penting untuk mencipta yang baharu salinan. Mengubahkan objek keadaan asal atau tatasusunan secara langsung boleh membawa kepada tingkah laku yang tidak dijangka dan potensi pepijat.

Dalam kes ini, memadamkan elemen daripada tatasusunan secara langsung, yang mengubah suai objek keadaan asal, tidak mencetuskan kemas kini nyatakan dalam React. Keadaan kekal tidak berubah dan UI tidak akan mencerminkan pengalihan keluar Bob daripada senarai.

Menggunakan Array.prototype.filter() untuk Pembuangan Selamat

Kepada alih keluar item daripada tatasusunan keadaan dengan cara yang serasi dengan React, terdapat beberapa pilihan. Satu kaedah yang berkesan melibatkan penggunaan Array.prototype.filter().

removePeople(e) {
    this.setState({people: this.state.people.filter(function(person) { 
        return person !== e.target.value 
    })});
}
Salin selepas log masuk

Pendekatan ini mencipta tatasusunan baharu dengan hasil yang ditapis. Dalam kes ini, ia menapis orang yang mempunyai nilai sasaran, dengan berkesan mengalih keluarnya daripada senarai. Tatasusunan baharu yang terhasil kemudiannya ditetapkan sebagai keadaan, mencetuskan kemas kini UI yang diperlukan untuk mencerminkan pengalihan keluar item.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Item dengan Selamat daripada Susunan Negeri dalam React?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan