Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当引用路径不再可用时,如何删除firebase数据库侦听器_Javascript_Firebase_Firebase Realtime Database - Fatal编程技术网

Javascript 当引用路径不再可用时,如何删除firebase数据库侦听器

Javascript 当引用路径不再可用时,如何删除firebase数据库侦听器,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我在react本机应用程序中使用firebase,我有一个类似的侦听器: firebase.database().ref('users/'+uid+'/items').on('value', function(snapshot){ .... }) 我试图做的是在用户注销时删除该侦听器。我知道我可以使用off()这样做: firebase.database().ref('users/'+uid+'/items').off('value', function(snapshot){

我在react本机应用程序中使用firebase,我有一个类似的侦听器:

firebase.database().ref('users/'+uid+'/items').on('value', function(snapshot){
    ....
})
我试图做的是在用户注销时删除该侦听器。我知道我可以使用
off()
这样做:

firebase.database().ref('users/'+uid+'/items').off('value', function(snapshot){
    ....
})

但一旦用户注销,我就无法访问用户id。那么如何删除侦听器?

您需要保留连接侦听器的路径,以便可以对其调用
关闭()。一种方法是:

mUserRef = firebase.database().ref('users/'+uid+'/items');
mUserRef.on('value', function(snapshot){
    ....
})
后来:

mUserRef.off('value');

是否需要使用原始ref对象来打开侦听器,或者是否可以使用具有相同路径的新ref来调用
.off()
?如何保留/保持路径?…使用状态?