консоль вернет номер индекса массива. Мне нужен путь к изображению на консоли, как этот ../assets/images /circle1.png

#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 )