Tôi đang cố gắng tìm cách tốt nhất để loại bỏ một phần tử khỏi một mảng trong trạng thái của một thành phần. Vì tôi không nên sửa đổi this.state
biến trực tiếp, có cách nào tốt hơn (ngắn gọn hơn) để loại bỏ một phần tử khỏi một mảng so với những gì tôi có ở đây không?:
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
})
},
Cảm ơn bạn.
cập nhật
Điều này đã được cập nhật để sử dụng gọi lại trong setState. Điều này nên được thực hiện khi tham chiếu trạng thái hiện tại trong khi cập nhật nó.