RN返回navigation方法

时间:2021-12-31 09:36:31

RN官方指定的路由管理是navigation  通过打印我们可以得到navgation的相关属性

1:dispatch ,Redux的事件发起

2:goback()返回

3:navigate(routeName,{parmas:xxx}) 界面跳转并且添加参数(或者是回调函数)

4:state:这个对象里面有 当前的routename/key/和params参数

这里讨论的是A-B之间的数据交互

1:事件监听

事件监听类似于iOS原生的通知,一个发,一个收即可.

A界面收:

1 import {
2 DeviceEventEmitter
3 } from 'react-native';
RN返回navigation方法
 1  componentDidMount() {
2 //收到监听
3 this.listener = DeviceEventEmitter.addListener('通知名称',(e)=>{
4 alert(e)
5 });
6 }
7 componentWillUnmount(){
8 // 移除监听
9 this.listener.remove();
10 }
RN返回navigation方法

B界面在pop回A界面的时候发:

1 import {
2 DeviceEventEmitter
3 } from 'react-native';
1     pop = ()=>{
2 let value = '监听' //准备一个值
3 DeviceEventEmitter.emit('通知名称',value); //发监听
4 this.props.navigator.pop({ })
5 }

2:事件回调 

A界面在push到B界面的时候定义个回调函数

RN返回navigation方法
1 push = () =>{
2 this.props.navigator.push({
3 component:DetailsView,
4 passProps:{
5 callback:(msg)=>{ alert(msg) }
6 }
7 })
8 }
//在navigation中:
this.props.navigation.navigate(routeName,{callback:(parmas)=>this.fun(params)})
RN返回navigation方法

B界面在pop回A界面的时候调用该回调函数

RN返回navigation方法
1 pop = () =>{
2
3 this.props.navigator.pop({
4 })
5
6 if(this.props.callback){
7 this.props.callback('回调')
    // this.props.navigation.state.params.callback("params")
8 }
9 }

RN返回navigation方法的更多相关文章

  1. 慕课网-Java入门第一季-7-3 Java 中无参带返回值方法的使用

    来源:http://www.imooc.com/code/1579 如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值 ...

  2. 慕课网-Java入门第一季-7-2 Java 中无参无返回值方法的使用

    来源:http://www.imooc.com/code/1578 如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名 ...

  3. C# 7.0 新特性1: 基于Tuple的“多”返回值方法

    本文基于Roslyn项目中的Issue:#347 展开讨论. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: ...

  4. Java 中无参带返回值方法的使用

    如果方法不包含参数,但有返回值,我们称为无参带返回值的方法. 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果 在 c ...

  5. Java 中无参无返回值方法的使用

    如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法. 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ ...

  6. Ext.Ajax.request()方法和FormPanel.getForm().submit()方法,都返回success()方法的差异

    我还是不发表到博客园首页吧,要不然还是要被取消,>_< 还是言归正传吧,关于Ext.Ajax.request()方法和FormPanel.getForm().submit()方法返回suc ...

  7. Html5 监听拦截Android返回键方法详解

    浏览器窗口有一个history对象,用来保存浏览历史. 如果当前窗口先后访问了三个网址,那么history对象就包括三项,history.length属性等于3. history对象提供了一系列方法, ...

  8. thinkphp中AJAX返回ajaxReturn&lpar;&rpar;方法分析

    本文分析了thinkphp中AJAX返回ajaxReturn()方法.分享给大家供大家参考,具体如下: 系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数 ...

  9. &lbrack;django&rsqb;django 3种返回json方法

    django 3种返回json方法 1.手动组装字典返回 from django.http import JsonResponse, HttpResponse from django.shortcut ...

随机推荐

  1. Qt——信号槽连接:基于字符串与基于函数的连接之间的不同

    从Qt5.0开始,Qt提供了两种不同的方式进行信号槽的连接:基于 字符串 的连接语法.基于 函数 的连接语法.这两种语法各有利弊,下面对它们的不同点进行总结. 以下几部分详细解释了它们之间的不同,并说 ...

  2. hdu 1030 Delta-wave &lpar;C&plus;&plus;&comma; 0ms&comma; explanatory comments&period;&rpar; 分类: hdoj 2015-06-15 12&colon;21 45人阅读 评论&lpar;0&rpar; 收藏

    problem description http://acm.hdu.edu.cn/showproblem.php?pid=1030 #include <cstdio> #include ...

  3. QCon 2015 阅读笔记 - 团队建设

    QCon 2015阅读笔记 QCon 2015 阅读笔记 - 移动开发最佳实践 QCon 2015 阅读笔记 - 团队建设 中西对话:团队管理的五项理论和实战 - 谢欣.董飞(今日头条,LinkedI ...

  4. CGI 是什么

    CGI是公共网关接口,是Java Servlet 的前身,Java Servlet  是运行在服务器端的小程序.

  5. Enter password&colon; ERROR 2002 &lpar;HY000&rpar;&colon; Can&&num;39&semi;t connect to local MySQL server through socket &&num;39&semi;&sol;var&sol;lib&sol;mysql&sol;mysql&period;sock&&num;39&semi; &lpar;2&rpar;

    1.kill掉列出的进程: [root@localhost mysql]# ps -a | grep -i mysql pts/ :: mysqld_safe pts/ :: mysqld <d ...

  6. Github Https方式push错误”Empty reply from server”

                  1 2 3 4 5 6 7 8 9 10 2014-11-19 20:41:30.130 GitHub for Mac Login[2595:326257] AskPass ...

  7. centos 6&period;X 安装node

    1.源码安装 Source Code yum -y install gcc make gcc-c++ openssl-devel wget //yum下载相关的依赖包 wget http://node ...

  8. REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解

    转载自处blog.csdn.net/tantexian. SOA: *解释:SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机软件的设计模式, ...

  9. mysql添加字段并且设置默认值

    ALTER TABLE task ADD uploadStatus TINYINT(4) DEFAULT '0' COMMENT '上传状态';

  10. 连接redis