时间:2021-05-25
本文实例实现的功能如下:注册页(Register.js),点击注册,跳到注册结果页(RegisterResult.js),并将注册的手机号传递过去,显示xx注册成功。
index.Android.js
'use strict'import React, { Component } from 'react';import { AppRegistry,Navigator,BackAndroid} from 'react-native';var Register = require('./study/Register');let RegisterResult = require('./study/RegisterResult');var NaviModule = React.createClass({ //告知Navigator模块,我们希望在视图切换时,用什么效果 configureScene:function(route){ return Navigator.SceneConfigs.FadeAndroid; }, //告知Navigator模块,我们希望如何挂接当前视图 renderScene:function(router,navigator){ this._navigator = navigator; switch(router.name){ case "register": return <Register navigator = {navigator}/> case "registerResult": return <RegisterResult telephoneNumber = {router.telephoneNumber} navigator = {navigator}/> } }, //React的生命周期函数---组件被挂接时调用 componentDidMount:function(){ var navigator = this._navigator; BackAndroid.addEventListener('NaviModuleListener',()=>{ if (navigator && navigator.getCurrentRoutes().length > 1) { navigator.pop(); return true; } return false; }); }, //React的生命周期函数---组件被移除时调用 componentWillUnmount: function(){ BackAndroid.removeEventListener('NaviModuleListener'); }, render:function(){ return ( <Navigator initialRoute = {{name:'register'}} configureScene = {this.configureScene} renderScene = {this.renderScene} /> ); }});AppRegistry.registerComponent('FirstDemo', () => NaviModule);注册页(Register.js)
'use strict'import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, View, TextInput} from 'react-native';let Dimensions = require('Dimensions');let totalWidth = Dimensions.get('window').width;let leftStartPoint = totalWidth * 0.1;let componetWidth = totalWidth * 0.8;let Register = React.createClass({ getInitialState:function(){ return { inputedNum :'', inputedPW:'', }, updatePW: function(newText){ this.setState({inputedPW : newText}); }, render: function() { return ( <View style={styles.container}> <TextInput style = {styles.numberInputStyle} placeholder = {'请输入手机号'} onChangeText = {(aa) => this.setState({inputedNum :aa})}/> <Text style={styles.textPromptStyle}> 您输入的手机号:{this.state.inputedNum} </Text> <TextInput style={styles.passwordInputStyle} placeholder = {'请输入密码'} password = {true} onChangeText = {(newText) => this.updatePW(newText)}/> <Text style={styles.bigTextPrompt} onPress = {this.userRegister}> 注 册 </Text> </View>); }, userRegister:function(){ this.props.navigator.replace({ telephoneNumber : this.state.inputedNum, name: 'registerResult', }); }});const styles = StyleSheet.create({ container: { flex: 1, flexDirection:'column', justifyContent: 'center', backgroundColor: '#F5FCFF', }, numberInputStyle:{ top:20, left:leftStartPoint, width:componetWidth, backgroundColor:'gray', fontSize:20 }, textPromptStyle:{ top:30, left:leftStartPoint, width:componetWidth, fontSize:20 }, passwordInputStyle:{ top:50, left:leftStartPoint, width:componetWidth, backgroundColor:'gray', fontSize:20 }, bigTextPrompt:{ top:70, left:leftStartPoint, width:componetWidth, backgroundColor:'gray', color:'white', textAlign:'center', fontSize:60 }});module.exports = Register;注册结果页RegisterResult.js
'use strict'import React, { Component } from 'react';import { AppRegistry, StyleSheet, Text, View, TextInput} from 'react-native';let RegisterResult = React.createClass({ render:function(){ return( <View style = {styles.container}> <Text style = {styles.text}> {this.props.telephoneNumber}注册成功 </Text> </View> ); }});const styles = StyleSheet.create({ container: { flex: 1, flexDirection:'column', justifyContent: 'center', alignItems:'center', backgroundColor: '#F5FCFF', }, text:{ flexWrap:'wrap', backgroundColor:'gray', fontSize:20, paddingTop:10, paddingBottom:10, paddingLeft:25, paddingRight:25 },});module.exports = RegisterResult;以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
微信小程序页面跳转及数据传递详解类似Android的Intent传值,微信小程序也一样可以传值:例如:wxml中写了一个函数跳转:已完成任务{{finished
微信小程序页面跳转传递值微信小程序导航有两种形式:一种是在写在js中进行跳转,另一种是写在wxml页面中进行跳转。1、js导航(1)、wx.navigateTo
本文实例讲述了JS引用传递与值传递的区别与用法。分享给大家供大家参考,具体如下:这里详细解释JS值传递和引用传递以及二者的区别。我们先来解释一下这两个的基本概念
详解java的值传递、地址传递、引用传递一直来觉得对值传递和地址传递了解的很清楚,刚才在开源中国上看到一篇帖子介绍了java中的值传递和地址传递,看完后感受颇深
C语言中值传递和指针传递实例详解在C语言中,函数的参数和返回值的传递方式有两种:值传递和指针传递。值传递和指针传递初学者总会有一种朦胧的感觉,所以建议把指针传递