Я пытаюсь найти лучший способ удалить элемент из массива в состоянии компонента. Так как я не должен изменить переменную 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. Это должно быть сделано при обращении к текущему состоянию при его обновлении.
Взгляните на ImmutableJS из Facebook, который хорошо работает с React. [link] (http://facebook.github.io/immutable-js/docs/#/) –
Я не вижу ничего плохого в вашем коде. На самом деле это очень идиоматический способ сделать это. –