Я создал функцию like, которая меняет цвет только для одного элемента, и этот элемент в соответствии с его идентификатором нравится, однако, когда мне нравится первый элемент, передается его идентификатор, но все значки также поворачиваются на красный, как мне отменить это?
моя функция «Мне нравится» выглядит следующим образом:
onButtonPress = async(item) => {
console.log(item)
console.log(this.state.buttonColor,'hello')
if(this.state.buttonColor='white'){
try {
const response = await fetch("some url"+item._id);
const resJson = await response.text();
this.setState({
buttonColor:'red',
}, console.log(resJson),
console.log(this.state.buttonColor,'hi'));
}
catch (error) {
console.error(error);
}
}
};
Я вызвал эту функцию в плоском списке в виде значка, я поделюсь фрагментом кода значок ниже:
<TouchableOpacity
onPress= {() => this.onButtonPress(item)}
style={{
alignItems: 'center',
borderRadius: 60,
padding: 10,
}}>
<Icon
name="heart"
size={30}
color={this.state.buttonColor}
/>
</TouchableOpacity>
Сделайте, скажите мне, если вам требуется что-то еще, и дайте мне знать, как это сделать?