#react-native
#react-native
Вопрос:
Состояние
list: [
{ name: require('../assets/images/circle1.png') },
{ name: require('../assets/images/circle2.png') },
{ name: require('../assets/images/circle3.png') },
]
визуализировать элемент
_renderItem = (item, index) => {
console.log('items====>', item)
return (
<View>
<TouchableOpacity onPress={() => this.setState({ selectedItem: item.item.name })}>
<Image key={index} source={item.item.name} style={{ height: 50, width: 50 }}></Image>
</TouchableOpacity>
</View>
)
}
консоль вернет мне номер
items====>
{item: {…}, index: 2, separators: {…}}
index: 2
item:
**name: 5. <=====HERE IT RETURN ME NUMBER I NEED IMAGE PATH**
__proto__: Object
separators: {highlight: ƒ, unhighlight: ƒ, updateProps: ƒ}
__proto__: Object
ЗДЕСЬ МНЕ НУЖЕН ПУТЬ К ИЗОБРАЖЕНИЮ. НО CONCOLE ВОЗВРАЩАЕТ МНЕ ТОЛЬКО НОМЕР ИНДЕКСА
Комментарии:
1. не определено, когда я использую item.name
Ответ №1:
Это всегда будет возвращать номер. Если вам нужен путь, то вы можете сделать это
list: [ { name: '../assets/images/circle1.png' }, ...]
при рендеринге
<Image key={index} source={require(item.item.image)} style={{ height: 50, width: 50 }}/.>
Комментарии:
1. Ошибка преобразования screens/HomeScreen.js : screens/HomeScreen.js: Недопустимый вызов в строке 66: требуется(item.item.name )
2. Попробуйте этот способ require(item.name );
3. но мне нужен путь к изображению ../assets/images /circle1.png, как это на консоли
4. консоль дает мне номер индекса arr вместо пути
5. Это здорово, если это работает, консоль таким образом, как console.log(‘путь к элементу ====>’, item.name )