I cannot get rid of the "Each child on a list should have a unique "key" prop error" I've tried using Math.random() to make sure my iteration isn't causing duplicate keys as well as adding the key to list components like Title and Image. I've also reviewed the reacts documentation but I don't see anything similar to this.
{menuCategory.map((category, index) => (
<React.Fragment key={index}>
{index != 0 ? (
<ListItem
key={category.id}
topDivider
titleStyle={themestyles.CardText}
containerStyle={themestyles.ListItemDivider}>
{console.log(category.category_data.name + category.id)}
<ListItem.Content containerStyle={themestyles.ListItemContent}>
<ListItem.Title style={themestyles.ItemTitle}>
{category.category_data.name}
</ListItem.Title>
</ListItem.Content>
</ListItem>
) : (
<ListItem
key={category.id}
topDivider
titleStyle={themestyles.CardText}
containerStyle={themestyles.ListItemDividerTop}>
{console.log(category.category_data.name + category.id)}
<ListItem.Content containerStyle={themestyles.ListItemContent}>
<ListItem.Title style={themestyles.ItemTitle}>
{category.category_data.name}
</ListItem.Title>
</ListItem.Content>
</ListItem>
)}
{menuItem.map((item) =>
category.id == item.item_data.category_id ? (
<Card
key={item.id}
titleStyle={themestyles.Card}
containerStyle={themestyles.Card}
featuredSubtitle={item.item_data.description}
title={item.item_data.name}>
{console.log(item.item_data.name + ' ' + item.id)}
<React.Fragment key={2+Math.random()}>
{console.log(
'Image:: ' + menuImage[item.item_data.image_ids],
)}
</React.Fragment>
<Card.Title>{item.item_data.name}</Card.Title>
{menuImage[item.item_data.image_ids] != undefined ? (
<Card.Image
resizeMode="contain"
source={{
uri: `${menuImage[item.item_data.image_ids]}`,
}}
/>
) : (
<Card.Image
resizeMode="contain"
source={require('../../creative/icon.png')}
/>
)}
</Card>
) : (
<></>
),
)}
</React.Fragment>
))}