Почему this.setState не обновляет дескриптор удаления данных? - PullRequest
0 голосов
/ 10 марта 2019

Может ли кто-нибудь из экспертов React здесь помочь мне ответить на этот странный вопрос, который у меня возник с моим компонентом реагирования?Я пытаюсь создать функцию для удаления элемента в массиве, однако setState не обновляет новый массив, но console.log показывает, что массив правильно обновлен с правильно удаленными элементами.

constructor (props) {
    super (props);

    this.state = {
        data: dummyData,
        chosenData:[],
        chosenOption:{}
    }
}

onDeleteOptionButtonClick = (id, titleId) => {
    const data = this.state.data.map(item => item.id === titleId ? {...item, possibleAnswers: item.possibleAnswers.filter(i => i.id !== id)} : item)
    this.setState({ data }, () => {console.log('log of data from state', this.state.data[0].possibleAnswers)})
    console.log('log of data from data',data[0].possibleAnswers)
}

вот изображение console.log enter image description here

, поскольку видно, что данные const правильно обновляют новый массив с удаленным элементом, но состояние остается прежним.Пожалуйста, помогите, спасибо

1 Ответ

0 голосов
/ 10 марта 2019

Пожалуйста, используйте this.setState внутри самой функции фильтра.

...