Estoy tratando de hacer una pantalla de perfiles para mis miembros del grupo. Mi idea es hacer solo una fuente para las cuatro pantallas usando parámetros de ruta para configurar toda la información, así:
<TouchableOpacity style={styles.ident1} onPress={() => navigation.navigate('Profile', { Nome: 'Ângelo J. da Rosa', Resto: ['19 Anos', 'Cocal do Sul - SC'], Foto: '../../assets/angelo.jpeg' })}> <Text style={{ fontSize: 20,fontWeight: 'bold' }}>Angelo</Text> </TouchableOpacity>pero cuando trato de obtener la imagen de la carpeta usando la ruta que obtuve de los parámetros (Foto), aparece un error y no sé cómo proceder
mi fuente de pantalla:
import React from 'react'; import { View, Text, Image, StyleSheet } from 'react-native'; export default function Profile({ route, navigation }) { const { Nome, Resto, Foto } = route.params; return ( <View style={styles.container}> <Image style={styles.image} source={require({Foto})} /> <Text style={[styles.headline]}>{"\n"}{Nome}</Text> <View style={[styles.views, styles.ident1]}>, <Text style={[styles.desc]}>{Resto[0]}</Text> <Text style={[styles.desc]}>{Resto[1]}</Text> <Text style={[styles.desc]}>{Resto[2]}</Text> <Text style={[styles.desc]}>{Resto[3]}</Text> <Text style={[styles.desc]}>{Resto[4]}</Text> </View> </View> ) };Está cometiendo un error al pasar la ruta de la imagen. Puedes seguir el siguiente código:
Foto: require('../../assets/angelo.jpeg')Y utilízalo como un accesorio como este:
<Image source={Foto}/>Seguro que funcionará. Si no, por favor envíeme un ping, seguramente lo ayudaré.
NOTA: Para obtener más información, consulte esto: Cargar imagen pasada mientras los accesorios reaccionan de forma nativa