RN-组件的简单使用

React-Native-Navigator导航条-反向传值(三

2017-03-30  本文已影响44人  精神病患者link常

正向传值搞定了,免不了要方向传值,这里我采用的是类似iOS通知的方法
思路:第二个页面点击按钮,发送通知,然后第一个页面接受通知,处理事件,so......

RN里面需要用到一个DeviceEventEmitter,监听,相当也iOS的通知

需要导入

import {
    AppRegistry,
    View,
    Text,
    StyleSheet,
    Navigator,
    TouchableOpacity,
    DeviceEventEmitter,//监听

}from 'react-native';

在需要的地方(第二个页面)

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();
    }

这样就可以反向传值了(其实是全局传值......)

navgif.gif

项目地址:https://github.com/chjwrr/RN-NatigatorTest

上一篇 下一篇

猜你喜欢

热点阅读