[React-Native-Firebase]如何删除 onMessage 存在事件?
[React-Native-Firebase]How can i remove onMessage exist event?
我声明了一个 onMessage 函数来做某事。但是当我导航到另一个屏幕并想删除 ComponentWillUnmount() 中的 FCM.onMessage() 时。我怎样才能删除它?
const rnfirebase = RNFirebase.initializeApp()
export const FCM = rnfirebase.messaging()
ComponentDidMount(){
FCM.onMessage((notif)=>{
//Do something
})
}
ComponentWillUnmount(){
//I want to remove here
}
如果您检查 docs onMessage returns 函数,如果控制台记录该函数,您将看到类似这样的内容
ƒ () {
return rnListener.remove();
}
因此,当您调用 onMessage 返回的函数时,它将停止监听,在您的情况下,代码将如下所示
const rnfirebase = RNFirebase.initializeApp()
export const FCM = rnfirebase.messaging()
componentDidMount(){
this.notificationListener = FCM.onMessage(notif=>{
//Do something
})
}
componentWillUnmount(){
this.notificationListener(); //This will remove the listener
}
我声明了一个 onMessage 函数来做某事。但是当我导航到另一个屏幕并想删除 ComponentWillUnmount() 中的 FCM.onMessage() 时。我怎样才能删除它?
const rnfirebase = RNFirebase.initializeApp()
export const FCM = rnfirebase.messaging()
ComponentDidMount(){
FCM.onMessage((notif)=>{
//Do something
})
}
ComponentWillUnmount(){
//I want to remove here
}
如果您检查 docs onMessage returns 函数,如果控制台记录该函数,您将看到类似这样的内容
ƒ () {
return rnListener.remove();
}
因此,当您调用 onMessage 返回的函数时,它将停止监听,在您的情况下,代码将如下所示
const rnfirebase = RNFirebase.initializeApp()
export const FCM = rnfirebase.messaging()
componentDidMount(){
this.notificationListener = FCM.onMessage(notif=>{
//Do something
})
}
componentWillUnmount(){
this.notificationListener(); //This will remove the listener
}