Я пытаюсь создать список с измененным стилем на основе выбора:
У меня есть динамическое состояние c -
constructor(props) {
super(props);
this.state = {
inventoryArray: InvData.map(obj => ({...obj, clicked: false})),
}
}
Я хочу использовать состояние щелчка каждый объект для определения стиля - но я не совсем уверен в том, какой синтаксис использовать - я пробовал:
returnInventoryObjects = () => {
return (
this.state.inventoryArray.map((data, i) => {
return (
if({data.clicked}) ? {
<View key={i} style={[InventoryStyles.InventoryItem, InventoryStyles.InventoryItemSel ]}>
}
else{
<View key={i} style={[InventoryStyles.InventoryItem]}>
}
, что не работает -
Я также пробовал встроенный Dynami c style ie -
returnInventoryObjects = () => {
return (
this.state.inventoryArray.map((data, i) => {
return (
<View key={i} style={[InventoryStyles.InventoryItem, {data.clicked} && InventoryStyles.InventoryItemSel ]}>
Кто-нибудь, пожалуйста, посоветуйте, как этого добиться?
Вот ошибка, показанная при реализации варианта 2 -
введите описание изображения здесь
Используемые стили:
InventoryItem:{
backgroundColor:'rgba(255,255,255,0.8)',
paddingVertical:8,
paddingHorizontal:8,
flexDirection:'row',
marginBottom:15,
},
InventoryItemSel:{
backgroundColor:'rgba(255,255,255,0.2)',
},