Javascript React Native Firebase如何使用特定用户从表数组中获取数据
我从(特定用户的)导师表中获取“userId”,并根据该userId在“tutorCopy”和接受“tutorCopy”服务的用户下创建一个表john@john.com“保存其用户ID和用户电子邮件。现在什么时候john@john.com登录系统,我想显示分配给他的电子邮件/人数。 这是我目前为止所做的,但我无法访问useremail: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
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中存在嵌套表,甚至我在状态中将标记初始化为数组。