В React Native (я очень новичок в React) у меня есть функция javascript, которая возвращает массив в переменной myResult.Напечатанный в терминале, он показывает:
Array [
25,
25,
20,
10,
5,
5,
]
, который я добавляю в состояние с помощью
this.setState({resultArray: myResult});
Затем в состоянии у меня есть массив, подобный так:
this.state = {
foodList: [
{id: "25",
src: `"./images/banana25.png"`
},
{id: "20",
src: `"./images/banana20.png"`
},
{id: "15",
src: `"./images/apple15.png"`
},
{id: "10",
src: `"./images/mango10.png"`
},
{id: "5",
src: `"./images/steakNeggs5.png"`
},
}
Используя resultArray, я хочу показать изображение в представлении для каждого элемента, изображение, соответствующее идентификатору, который соответствует каждому элементу массива.
<View style={{height: 318, flexDirection: "row" }}>
{this.state. resultArray.map((item, key) => {
let src = this.state.foodList.item.src
return (
<Image key={key} style={{flexDirection: "row" }} source={require({src})} />
);
})}
</View>
Очевидно, что это не работает, так как я надеваюне имеет синтаксиса право для SRC.
Может кто-нибудь показать мне правильный синтаксис для получения src из массива foodList?
Кроме того, согласно документам, использование индекса в качестве ключа работает, но не одобряется, но, посколькуresultArray может (и в этом случае делает) содержать идентичные числа / строки, использование элементов массива, я полагаю, невозможно.Будет ли использование Math.random () способом создания ключа, учитывая, что на выходе будут только 1-10 компонентов изображения?