简体   繁体   English

如何使用 React Native 将一个页面导航到另一个页面?

[英]How to navigate one page to another page using React Native?

my scenario, I am trying to navigate login.js page to home.js page.我的场景,我试图将login.js页面导航到home.js页面。 I need to implement navigation but need to hide into login.js but need to show into home.js.我需要实现navigation但需要隐藏到 login.js 中但需要显示到 home.js 中。 Here, login button click to navigate home page.在这里,登录按钮单击以导航主页。 The navigation should support iOS and Android both platform.how to achieve this?导航应该支持iOS和Android两个平台。如何实现?

App.js应用程序.js

import React, { Component } from 'react';
import { StyleSheet, Text, View} from 'react-native';
import Login from './components/Login';

export default class App extends Component {
  render(){
    return(
      <View style={styles.container}>
          <Login/>
      </View>
    );
  }
}

Login.js登录.js

import React from 'react';
import { View, Text, StyleSheet, TextInput, TouchableOpacity, ActivityIndicator } from 'react-native';

export default class Login extends React.Component {
    state = {
       isLoading: false 
    };

    showLoader = () => {
        this.setState({ isLoading: true });
    };

    // Login Click Action
    loginclick = () => {
        //this.showLoader();
        console.log('Login Clicked...'); // Need to move home page
    }

    render() {
        return (
            <View style={styles.container}>
                <TouchableOpacity style={styles.button} onPress={(this.loginclick)}>
                    <Text style={styles.btntext}>Sing In</Text>
                </TouchableOpacity>
                <View style={styles.activityview, styles.horizontal}>
                    <ActivityIndicator size="large" animating={this.state.isLoading} color='#fff' />
                </View>
            </View>
        );
    }
}

Package.json包.json

   {
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject"
  },
  "dependencies": {
    "@react-native-community/masked-view": "0.1.5",
    "expo": "~36.0.0",
    "react": "~16.9.0",
    "react-dom": "~16.9.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz",
    "react-native-gesture-handler": "~1.5.0",
    "react-native-reanimated": "~1.4.0",
    "react-native-safe-area-context": "0.6.0",
    "react-native-safe-area-view": "^1.0.0",
    "react-native-screens": "2.0.0-alpha.12",
    "react-native-web": "~0.11.7",
    "react-navigation": "^1.6.1",
    "react-navigation-stack": "^2.0.16"
  },
  "devDependencies": {
    "babel-preset-expo": "~8.0.0",
    "@babel/core": "^7.0.0"
  },
  "private": true
}

You can use React Navigation for moving different screens.你可以使用React Navigation来移动不同的屏幕。

Change your App.js as below in order to handle navigation如下更改您的App.js以处理导航

import React from "react";
import { createAppContainer } from "react-navigation";
import { createStackNavigator } from "react-navigation-stack";
import Login from "./components/Login";
import Home from "import your home component";

const RootStack = createStackNavigator(
  {
    Login: Login,
    Home: Home
  },
  {
    initialRouteName: "Login"
  }
);

const AppContainer = createAppContainer(RootStack);

export default class App extends React.Component {
  render() {
    return <AppContainer />;
  }
}

After that, you can handle navigation to Home from Login changing your loginclick function as below之后,您可以处理从LoginHome导航,如下所示更改您的Login loginclick功能

loginclick = () => {
    this.props.navigation.navigate('Home')
}

Hope this helps you.希望这对你有帮助。 Feel free for doubts.如有疑问,请放心。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 React Native:如何导航到页面? - React Native: How to navigate to a page? 如何在 react native ignite bowser 中导航到另一个页面? - How to navigate to another page in react native ignite bowser? [ViewPager-如何使用按钮从一页导航到另一页? - [ViewPager - How to Navigate from one page to another using a button? 如何使用Titanium Studio在iPhone和Android中将页面导航到另一页面 - how to navigate one page to another in iphone and android using titanium studio 如何在android phonegap中将一个页面导航到另一个页面? - How to navigate one page to another page in android phonegap? 当我尝试从一个页面导航到另一页面时,undefined不是对象(评估&#39;_this.props.navigator.push&#39;)是本机的 - undefined is not an object (evaluating '_this.props.navigator.push') react native , when i am trying to navigate from one page to another 如何在react native&gt;中从一个屏幕导航到另一个屏幕? - How to navigate from one screen to another scree in react native>? 如何在android中导航到另一个页面? - How to navigate to another page in android? 无法在Android中从一页导航到另一页 - Unable to navigate from one page to another in android Ionic Framework从一页导航到另一页 - Ionic Framework Navigate from one page to another page
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM