react native父组件和子组件通信(传参)

参考:React-Native 发送和接收事件DeviceEventEmitter

           005-React-Native子组件修改父组件的几种方式,兄弟组件状态修改

我想要实现的功能,是点击子类中的一个按钮,在父类中弹出一个MODAL。要求是:在单击子类按钮的时候,需要向父类传参,告诉父类单击的是哪个按钮,根据按钮的不同,显示不同的modal。使用组件DeviceEventEmitter实现传参。

1.在父类和子类中都需要导入DeviceEventEmitter组件:

import {View,Text,Button,DeviceEventEmitter}from 'react-native';

2.在子类中写一个发送消息的方法:

<Button title="发送通知" onPress={() => {DeviceEventEmitter.emit('left','发送了个通知');}}/>

3.在父类中写一个接收这个消息的方法:

在didmount方法中写好监听/接收方法,当有消息发送时,这就会接收到,并执行相应方法:

componentDidMount() {this.deEmitter =DeviceEventEmitter.addListener('left', (a) => { alert('收到通知:' + a); });}

4.最后在父类中,需要卸载监听:

componentWillUnmount() {this.deEmitter.remove();}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,342评论 25 709
  • 收 集 文 章 / 超 人文章来源 XCode9的新变化 折叠代码 焦点在方法的实现体的方法名上,按comm...
    树下敲代码的超人阅读 4,044评论 3 12
  • 青春大概是被我搅成了一团红色的浆糊。 只是走在空无一人的操场上,满脑子的思绪缠成一团线,所以还是决定要整理出来,至...
    YUZI_Lady阅读 2,823评论 0 0
  • 给你我带着微笑的嘴角和眼眸 给你我轰轰烈烈的渴望和温柔 给你我未经雕琢的天真和自由 给你我微不足道 所有的所有 谢...
    雪小凝阅读 1,589评论 0 5
  • 得道APP 很多的专栏都快到期了,我目前看了自己所订的专栏,总共有的11哥专栏,现在的专栏太多,导致自己根本无法阅...
    贾小萍阅读 1,468评论 0 1

友情链接更多精彩内容