Код: Выделить всё
state = {
counters: [
{ id: 1, value: 0 },
{ id: 2, value: 3 },
{ id: 3, value: 0 },
{ id: 4, value: 0 },
],
};
Код: Выделить всё
handleIncrement = (counter) => {
const counters = [...this.state.counters];
const index = counters.indexOf(counter);
counters[index] = { ...counter };
counters[index].value++;
this.setState({ counters });
};
- Когда я console.log использую объект локальных счетчиков (скопированный из state.counters), он возвращает дополнительную строку в конце с идентификатором: -1 и значением: NaN
- Переменная counter (которая передается как параметр) взята из дочернего компонента. Предполагается, что он вернет 0, если нажата первая кнопка, 1, если нажата вторая кнопка, и так далее. Когда я console.log, кажется, возвращает правильные значения.
Код: Выделить всё
const index = counters.indexOf(counter);
Подробнее здесь: https://stackoverflow.com/questions/719 ... tate-react
Мобильная версия