需求:
A 界面
跳转到B 界面
再返回A 界面
时需要刷新数据或者做一些其他处理,ReactNative 没有类似iOS的viewWillDisappear
生命周期,只能自己处理。
首先引入
ReactNative的import { DeviceEventEmitter } from "react-native";
哪个界面想刷新数据就在哪个界面
接收
监听事件!A 界面
想刷新数据就在A 界面
监听
B 界面
// 发送事件
DeviceEventEmitter.emit("REQUES_DATA", "监听");
// DeviceEventEmitter.emit("监听名称", "此处可以是参数也可以是方法");
A 界面
componentDidMount() {
// 接收事件
this.listener = DeviceEventEmitter.addListener(
"REQUES_DATA",
this._onRefresh
);
}
// 试图将要卸载
componentWillUnmount() {
// 做一些回收工作 像 iOS 里的 dealloc
// 销毁事件
if (this.listener) {
this.listener.remove();
}
}
网友评论