React-native 页面之间的相互跳转

场景:首页有两个链接,分别跳转到登录页面和注册页面。
登录页面也有一个链接跳转到注册页面,注册页面也有一个链接跳转到登录页面。

android.index.js 代码

/**
 * Sample React Native App
 * http://uminicmf.com
 * auth:duerhong
 * email:1186969412 qq:1186969412
 */

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View
} from 'react-native';
import Home from './Auth';
export default class dudu extends Component {
  render() {
    return (
      <Home />
    );
  }
}
AppRegistry.registerComponent('dudu', () => dudu);

Auth.js 首页代码实现

'use strict';
import React, { Component } from 'react';
import {
    StyleSheet,
    View,
    Text,
    Button,
    ToastAndroid,
} from 'react-native';
import {TabNavigator,StackNavigator} from 'react-navigation';
import LoginScreen from './app/Login';
import RegisterScreen from './app/Register';
class SignIn extends Component {
    _getpen(){
      this.props.navigation.goBack();
    }
    render() {
      const { navigate } = this.props.navigation;
      return (
        <View>
          <Text>首页</Text>
          <Button
          title="去登录"
          onPress={() =>navigate('Login', { name: 'Jane' })}
          />
          <Button
          title="去注册"
          onPress={() =>navigate('Register', { name: 'Jane' })}
          />
        </View>
      );
    }
}
const App = StackNavigator({
  Home: {
    screen: SignIn,
    navigationOptions: {
      header: null // 无标题栏
    }
  },
  Login: {
    screen: LoginScreen,
    navigationOptions: {
      header: null // 无标题栏
    }
  },
  Register: {
    screen: RegisterScreen,
    hnavigationOptions: {
      header: null // 无标题栏
    }
  },
});
module.exports = App;

login.js 代码实现

import React, { Component } from 'react';
import {
    StyleSheet,
    View,
    Text,
    Button,
} from 'react-native';
import {TabNavigator,StackNavigator} from 'react-navigation';
import RegisterScreen from './Register';
// import AuthScreen from './Auth';
class LoginScreen extends Component {
  _getpen(){
    this.props.navigation.goBack();
  }
  static navigationOptions = {
    title: 'Welcome',
  };
    render() {
      const { navigate } = this.props.navigation;
        return (
        <View>
            <Text>登录页面</Text>
            <Button
            title="返回首页"
            onPress={() =>navigate('Home', { name: 'Jane' })}
            />
            <Button
            title="去注册"
            onPress={() =>navigate('Register', { name: 'Jane' })}
            />
        </View>
        );
    };
}
const Apps = StackNavigator({
  Logins: {
    screen: LoginScreen,
    navigationOptions: {
      header: null // 无标题栏
    }
  },
});
module.exports=Apps;

register.js代码实现

import React, { Component } from 'react';
import {
    StyleSheet,
    View,
    Text,
    Button,
} from 'react-native';
class RegisterScreen extends Component {
    render() {
        return (
        <View>
            <Text>注册页面</Text>
        </View>
        );
    };
}
module.exports=RegisterScreen;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,309评论 22 257
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,188评论 25 709
  • 经过对django的初步学习,我们已经对后台的基本流程以及django的运作有了一定的了解,但是这还不足够,dja...
    coder_ben阅读 9,261评论 8 34
  • 第二部分 Blog例子 第八章 用户验证 大部分程序需要追踪用户身份。当用户连接到程序,通过一系列步骤使自己的身份...
    易木成华阅读 5,111评论 0 4
  • 昨夜睡觉前,透过窗看天,云层还是很厚很厚,农历十六的夜,显得单调和冷清!若是晴朗的夜晚,那时圆圆的月儿一定悬挂在...
    范文娟阅读 2,962评论 0 0

友情链接更多精彩内容