我正在使用rnfirebase
将FCM集成到我的 React Native 项目中App.js
render(){
return (
<React.Fragment>
<AppContainer />
<PushNotification />
</React.Fragment>
)
}
PushNotification.js
_processActionUpdate(data){
if (this.props.notifyUpdate) { // some component is listening to notification data.
let productId = data.productId;
let productStatus = data.productStatus;
this.props.notifyUpdate(productId, productStatus);
} else { // open component to show information using navigation props
}
}
ComponentA.js
render() {
return (
<View>
<PushNotification
notifyUpdate={this._notificationProductUpdate} />
// Other views
</View>
)
}
ComponentB.js
render() {
return (
<View>
<PushNotification
notifyUpdate={this._notificationProductUpdate} />
// Other views
</View>
)
}
立即添加组件堆栈
App.js > ComponentA > ComponentB (顶部)
现在当我在 ComponentB 中并且推送通知到来时 我可以看到 _processActionUpdate 触发三次
必需的行为?
我想在应用启动时注册用于推送通知的侦听器,这就是为什么在App.js中添加侦听器,并且只想触发顶部的组件的 notifyUpdate 。
有没有一种方法可以诱发单人行为或其他任何方式来实现这种行为。