Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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 React Native Firebase如何使用特定用户从表数组中获取数据_Javascript_Firebase_React Native_Firebase Realtime Database_React Native Firebase - Fatal编程技术网

Javascript React Native Firebase如何使用特定用户从表数组中获取数据

Javascript React Native Firebase如何使用特定用户从表数组中获取数据,javascript,firebase,react-native,firebase-realtime-database,react-native-firebase,Javascript,Firebase,React Native,Firebase Realtime Database,React Native Firebase,我从(特定用户的)导师表中获取“userId”,并根据该userId在“tutorCopy”和接受“tutorCopy”服务的用户下创建一个表john@john.com“保存其用户ID和用户电子邮件。现在什么时候john@john.com登录系统,我想显示分配给他的电子邮件/人数。 这是我目前为止所做的,但我无法访问useremail: componentWillMount(){ var refx =firebase.database().ref("tutorCopy") r

我从(特定用户的)导师表中获取“userId”,并根据该userId在“tutorCopy”和接受“tutorCopy”服务的用户下创建一个表john@john.com“保存其用户ID和用户电子邮件。现在什么时候john@john.com登录系统,我想显示分配给他的电子邮件/人数。 这是我目前为止所做的,但我无法访问useremail:

 componentWillMount(){
     var refx =firebase.database().ref("tutorCopy")
    refx.orderByChild("table").on("value", function(snapshot) {
        snapshot.forEach(function(data) {
            this.setState({ markers: Object.values(snapshot.val()) })
          //alert(data.useremail)
        });
      });
    }
另外,我只想显示那些从tutor表到tutorCopy的具有教程匹配项的用户电子邮件。

请尝试以下操作:

 componentWillMount(){
     var refx =firebase.database().ref("tutorCopy")
    refx.on("value", function(snapshot) {
        snapshot.forEach((childSnapshot) => {
          childSnapshot.forEach((childSnap) =>{
           console.log(childSnap.val());
          });
        });
      });
    }
您需要迭代两次才能访问
useremail
,而且
orderByChild(“表”)
在这种情况下将不起作用,因为您需要进一步访问一个节点,因此无法访问
节点,例如:

var refx =firebase.database().ref("tutorCopy")
refx.child(userId).orderByChild("table")

谢谢,先生!这确实有效,但当我将标记的状态设置为childSnap时,它会给我错误:无法读取属性“setState”如何将标记的状态设置为childSnap,它总是说cannot setState markers为Null我不确定为什么会出现此错误,您是否在应用程序的其他地方使用过
setState
?在另一个类中使用过,但在那里工作正常..,这可能是因为firebase中存在嵌套表,甚至我在状态中将标记初始化为数组。