Я устанавливаю счетчик для элементов компонента FlatList React-Native. Как я могу обновлять элемент списка каждый раз, когда пользователь нажимает кнопку «+» или «-»?
В настоящее время я могу обновить значение состояния, однако в списке не отображается новое состояние. Я попытался добавить компонент extraData в FlatList, но он все равно не обновляется.
Это структура данных
data: [
{
id: 1,
name: "Bread",
price: "400",
imageS: "../resources/pan-corteza-blanda.jpg",
quantity: 2
},
... more data
Это функция, которая обрабатывает приращение
handleIncrement = i => {
this.setState(state => {
const formatData = state.data.map((item, j) => {
console.log("Id", i + " /// " + item.id);
if (item.id === i) {
item.quantity = item.quantity + 1;
return item;
} else {
return item;
}
});
console.log("FormatData" + formatData); //Displays the correct quantity of the item updated
return {
formatData
};
});
};
И это компонент списка
<FlatList
data={this.state.data}
style={styles.list}
extraData={this.state.data}
renderItem={this.renderItem}
/>
Я ожидаю обновлять текстовый компонент элемента списка с правильным значением количества каждый раз, когда пользователь нажимает кнопку «+» или «-».