Вставьте предопределенные объекты в массив, используя setState в реакции

Как я могу добиться этого с помощью оператора распространения/ES6?

Я хочу перебрать свои данные и заполнить свое состояние массивом объектов, где объекты содержат две пары ключ/значение. Я хотел бы, чтобы это было похоже на...

this.state = {
data: [ {indexNumber: 1, show: false}, {indexNumber: 2, show: false}, {indexNumber: 3, show: false} ]

Моя [мутированная] версия;

this.state = { data: []}

data.map((element, index) => {
    this.state.data.push({ indexNumber: index, show: false}] })
});

person pyan    schedule 29.08.2018    source источник


Ответы (1)


Вы не можете изменить объект состояния. Вам нужно будет вызвать setState и использовать новое значение:

this.setState({data: [...this.state.data, {indexNumber: index, show: false}]})

person ageoff    schedule 29.08.2018