В общем необходимо сделать функцию которая из большого списка новостей только одной новости добавляла лайк при одном нажатии и при повторном снимала лайк. В целом понятно как это сделать на реакте, но это необходимо сделать на mobX. Вот примерно такая функция у меня сейчас осуществляет это
@observable news = neews //данные с бека
@observable isLiked = false
@action updateReaction (index: number) {
this.news = [...this.news]
this.news.map((item: any) =>{
if (item.Number === index && !this.isLiked ){
{item.like++}
this.isLiked = true
}else if (item.Number === index && this.isLiked){
{item.like--}
this.isLiked = false
}
})
}
Она работает почти как надо, только проблема в том, что при нажатии лайка на одном посту и нажатии лайка на другом, он отбавляет существующие лайки, а не добавляет их