如何在 React Native 中从一个屏幕导航到另一个屏幕?

Posted

技术标签:

【中文标题】如何在 React Native 中从一个屏幕导航到另一个屏幕?【英文标题】:How to navigate from one screen to another in React native? 【发布时间】:2022-01-22 13:01:40 【问题描述】:

当我点击注册按钮时,我想导航到注册页面,但它不起作用。我已将屏幕和导航屏幕也导入到 app.js 文件中。我收到一个 ReferenceError:找不到变量:导航。我也无法插入背景图片?下面是注册页面。

import React from 'react';
import  StyleSheet,ImageBackground,Text, View, TextInput, TouchableOpacity  from   'react-native';
let bgImage='../../resources/images/bg2.png'
export default class LoginScreen extends React.Component 
      state=
        email:"",
        password:"",
      
      render()
        return (
        <View style=styles.container>
            <Text style=styles.logo>Trollo</Text>
           <View style=styles.box>
            <View style=styles.inputView >
              <TextInput
                style=styles.inputText
                placeholder="Email"
                placeholderTextColor="#808080"
                onChangeText=text => this.setState(email:text)/>
            </View>
            <View style=styles.inputView >
              <TextInput
                secureTextEntry
                style=styles.inputText
                placeholder="Password"
                placeholderTextColor="#808080"
                onChangeText=text => this.setState(password:text)/>
           </View>
            <TouchableOpacity style=styles.loginBtn>
               <Text style=styles.loginText>SIGN IN</Text>
            </TouchableOpacity>
            <TouchableOpacity>
              <Text style=styles.forgot>Forgot Password?</Text>
            </TouchableOpacity>
           </View>
            <Text style=styles.text1>New Here?</Text>
            <TouchableOpacity style=styles.signupBtn onPress = (navigation) => navigation.navigate('Sign Up')>
              <Text style=styles.loginText>SIGN UP</Text>
            </TouchableOpacity>
            <Text style=styles.logoText>Trollo</Text>
        </View>
        );
      
    


);

【问题讨论】:

meka balanna ***.com/questions/45875496/… 这能回答你的问题吗? How to navigate from one screen to another scree in react native>? 我试过了,还是不行 你在哪里打电话给navigation.navigate?能否请您添加与错误相关的代码? 我输入密码!现在检查! @AmilaSenadheera 【参考方案1】:

onPress 处理程序不会以navigation 作为第一个参数被调用。那是undefinednavigation 是您的类组件的道具,由堆栈导航器设置提供。

代替

onPress = (navigation) => navigation.navigate('Sign Up')

使用

onPress = () => this.props.navigation.navigate('Sign Up')

【讨论】:

@Hiruni Liyanage,看看这个!! 我试过这个但是出现错误??? ibb.co/mXXJGdj 我删除了渲染然后出现这个错误? ibb.co/9qzRx4J 似乎您已将组件更改为功能组件。需要删除this.props。使用onPress = () =&gt; navigation.navigate('Sign Up') 成功了,谢谢

以上是关于如何在 React Native 中从一个屏幕导航到另一个屏幕?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React Native 中从屏幕上的像素获取颜色?

在异步函数中导航 - React Navigation - React Native

如何在反应原生导航 Wix V2 中从侧边菜单导航到页面

如何将 React Native 应用程序导航重置为 React Navigation 的当前屏幕

如何仅在特定屏幕(例如主屏幕)上启用抽屉导航 [react native] [react navigation]

React-native-splashscreen 和导航