博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十五、Navigator基本的使用(二)
阅读量:6791 次
发布时间:2019-06-26

本文共 1818 字,大约阅读时间需要 6 分钟。

1.正向传值

//params对应的就是我们要传的值,这里我传了两个值goPage2() {        this.props.navigator.push({            component:SecondPageComponent,            params:{//params 要和HomePage.js里面的 renderScene(route, navigator)里面设置的参数名一样                param1:'第一个参数',                param2:'第二个参数',            }        })    }// 接收constructor(props){        super(props);//这两个属性就是我们要接收第一页传过来的两个值        this.state = {            paramGet1:PropTypes.string,            paramGet2:PropTypes.string,        };    }//这个方法就是声明周期的其中一个了,render()运行后,就会调用这个方法,我们在这里接收传过来的两个值 componentDidMount() {        //这里获取从FirstPageComponent传递过来的参数        this.setState({            paramGet1: this.props.param1,            paramGet2: this.props.param2,        });    }复制代码

2.反向传值 2.1类似iOS通知的回传

// 第二个页面触发buttonAction() {        DeviceEventEmitter.emit('changeData','回传参数');    }// 第一个页面监听//在这个方法里面注册监听//changeData  就是监听的名字,类似通知的名字//value就是上面对应的“回传参数”,就是其他地方传过来的值//两个参数,一个是监听名字,一个是方法(收到监听处理方法)componentDidMount() {        this.subscription = DeviceEventEmitter.addListener('changeData', (value) =>{            this.setState({                paramData:value,            });            console.log('传过来的值是:'+value);        });    }//页面移除时移除监听//类似iOS  dealloc里面移除通知    componentWillUnmount() {        this.subscription.remove();    }复制代码

2.2类似block传值

goPage2(type) {        this.props.navigator.push({            component:SecondPageComponent,            type:type,            params:{//params 要和HomePage.js里面的 renderScene(route, navigator)里面设置的参数名一样                param1:'第一个参数',                param2:'第二个参数',                loadData:(data) => {this.loadData(data)},//回调方法            }        })    }    loadData(data){        console.log('回调方法传参:data='+data);    }// 第二个页面  if(this.props.loadData){//这里是判断是否有这个方法的            this.props.loadData('回传参数1');        }复制代码

转载地址:http://xxogo.baihongyu.com/

你可能感兴趣的文章
PHP JSON_ENCODE 不转义中文汉字的方法
查看>>
Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)
查看>>
错误Name node is in safe mode的解决方法
查看>>
IntentService 与ResultReceiver
查看>>
Apache Tomcat Server Options 选项说明
查看>>
oracle实用sql语句
查看>>
ubuntu下安装android sdk运行模拟器出现错误:
查看>>
RDO部署openstack(1)
查看>>
jQuery 2.0.3 源码分析 钩子机制 - 属性操作
查看>>
ESAPI = Enterprise Security API
查看>>
【翻译】Use a bitmap as a background image
查看>>
2016乌云白帽资料下载
查看>>
echarts在.Net中使用实例(二) 使用ajax动态加载数据
查看>>
[安卓] 1、页面跳转+按钮监听
查看>>
[CareerCup] 15.5 Denormalization 逆规范化
查看>>
重新理解:ASP.NET 异步编程
查看>>
PostgreSQL在何处处理 sql查询之五十二
查看>>
Java开发环境搭建全过程(上)
查看>>
水仙花数&素数&质因数分解的C语言实现
查看>>
MTD应用学习:mtd和mtdblock的区别
查看>>