React Native中组件间消息传递的机制
- 1: props
- 2: state
- 3: 除了以上2种的关系外的组件,比如两个组件并没有直接的父子关系。这种情况下,可创建一个全局的通信类。
React Native中提供了一种类似于iOS中NSNotification的功能来解决数据的传递。
使用方法很简单,无论接受还是发送,都需要引入该类:
import RCTDeviceEventEmitter from 'RCTDeviceEventEmitter' ;
发送事件
RCTDeviceEventEmitter.emit('通知名称',value);
接受事件
componentDidMount(){
this.listener = RCTDeviceEventEmitter.addListener('通知名称',(value)=>{
// 接受到通知后的处理
});
}
componentWillUnmount(){
// 移除 一定要写
this.listener.remove();
}