function Screen2({route, navigation}) { return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Text>{route.params.myText}</Text> </View> ); } export default Screen2;Aquí myText es una cadena que se pasa desde otra pantalla (pantalla de inicio de sesión).
pantalla de ingreso al sistema---------------------------------------
<View> <Button style={styles.loginBTN} title="Login" onPress={() => {navigation.navigate('Screen2'), {myText: "hello react-native"}}} /> </View>Supongo que hay una situación (quizás antes de desmontar) en la que route o route.params no está definido,
puedes resolverlo de esta manera
function Screen2({route, navigation}) { return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> //I added question mark before the dots (optional chaining) <Text>{route?.params?.myText}</Text> </View> ); } export default Screen2;se llama encadenamiento opcional , según Mozilla
Le permite leer el valor de una propiedad ubicada en lo profundo de una cadena de objetos conectados sin tener que verificar que cada referencia en la cadena sea válida.
la pulsación del botón de inicio de sesión debe pasar los parámetros como se muestra a continuación
onPress={() = navigation.navigate("Screen2", { myText: "hello react-native", }) }