ฉันกำลังพยายามหาวิธีที่ดีที่สุดในการลบองค์ประกอบออกจากอาร์เรย์ในสถานะขององค์ประกอบ เนื่องจากฉันไม่ควรแก้ไขthis.state
ตัวแปรโดยตรงมีวิธีที่ดีกว่า (กระชับกว่า) ในการลบองค์ประกอบออกจากอาร์เรย์กว่าสิ่งที่ฉันมีที่นี่หรือไม่:
onRemovePerson: function(index) {
this.setState(prevState => { // pass callback in setState to avoid race condition
let newData = prevState.data.slice() //copy array from prevState
newData.splice(index, 1) // remove element
return {data: newData} // update state
})
},
ขอบคุณ.
อัปเดต
สิ่งนี้ได้รับการปรับปรุงเพื่อใช้โทรกลับใน setState สิ่งนี้ควรทำเมื่ออ้างอิงสถานะปัจจุบันขณะอัพเดต