Я создаю собственное приложение для электронной коммерции, и в разделе приложения «КОРЗИНА» я хочу, чтобы каждый элемент, добавленный в корзину с тем же идентификатором (идентификатор категории, который вы видите в консоли), отображался только один раз, но в моем случае если я добавлю в корзину 3 товара с одинаковым идентификатором, я увижу 3 разных списка их уважаемых товаров. Я хочу, чтобы моя функция карты отображала 1 элемент списка, если есть несколько элементов с одинаковым идентификатором с добавленным количеством. Мой код пока просто отображает каждый выбранный продукт как отдельный элемент:
renderItems() {
let items = [];
this.state.cartItems.map((item, i) => {
console.log(item)
items.push(
<ListItem
key={i}
last={this.state.cartItems.length === i + 1}
onPress={() => this.itemClicked(item)}
>
<Thumbnail square style={{ width: 100, height: 100 }} source={{ uri: item.productdetail.image }} />
<Body style={{ paddingLeft: 10 }}>
<Text style={{ fontSize: 16 }}>
{item.productdetail.name}
</Text>
<Text style={{ fontSize: 14, fontStyle: 'italic' }}>Price: {item.productdetail.price}</Text>
<Text style={{ fontSize: 14, fontStyle: 'italic' }}>Quantity: {item.quantity > 1 ? item.quantity : 1}</Text>
</Body>
<Right>
<Button style={{ marginLeft: -25 }} transparent onPress={() => this.removeItemPressed(item)}>
<Icon size={30} style={{ fontSize: 30, color: '#95a5a6' }} name='ios-remove-circle-outline' />
</Button>
</Right>
</ListItem>
);
});
return items;}
Результат console.log выглядит следующим образом:
Теперь, как вы можете видеть, в корзине должен отображаться только один список, у элемента с таким же товаром количество = 18.
id
, затем перебирать содержимое с помощьюmap
- person CodeZombie   schedule 10.08.2018