Показать сообщение отдельно
  #3 (permalink)  
Старый 16.11.2018, 10:41
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Сообщение от dmitry.suhotsky
Как я думаю. По клику onClick={this.handleClick} вызывается функция, в которой ({{index}}) передается текущий итем.
Передается не item, а его index.

Сообщение от dmitry.suhotsky
handleClick = (i) => {
const newMass = this.state.mass[i];
newMass.like = this.state.mass[i].like +1 ;
this.setState({
mass: newMass
})
У вас в state.mass должен находится массив объектов, а вы после обработки клика записываете в него объект, по которому кликнули.
Попробуйте так:
handleClick = index => {
    const list = this.state.mass;
    const item = list[index];

    item.like += item.click ? -1 : 1;
    item.click = !item.click;

    list[index] = item;

    this.setState({
        mass: list
    });
}
Ответить с цитированием