我正在从Firebase数据库中获得2位用户的身份验证,但是如何从函数中返回一个值,或者该身份验证的用户是否有其他解决方案
firebase.auth()。onAuthStateChanged(user => { 如果(用户){
firebase.database().ref('Usersyeah/').on('child_added', function (getdata) {
var newData = getdata.val().User
if (user.email == getdata.val().Email ){
if (getdata.val().User === 'User') {
var routes = [
{title: "Home",route: "Home",}
{title: "Pending Request",route: "Request"}]
} else {
var routes = [
{title: "USER",route: "Home"}
]
}
}
getdata.val().User })
});
} else {
}
})
return (
<View>
<TouchableOpacity style={{ backgroundColor: 'green', margin: 10, padding: 10 }}
onPress={this.mysubmit.bind(this)}>
<Text style={{ color: '#fff', alignItems: 'flex-end' }}> SUBMIT </Text>
</TouchableOpacity>
<Image
style={{ width: 250, height: 200 }}
source={require('../myimage/durian.jpg')}
/>
{
routes.map(e => (
<TouchableOpacity style={styles.link} onPress={_ => this.navigate(e.route)}>
<Text style={{ fontSize: 14 }}>{e.title}</Text>
</TouchableOpacity>
)
)
}
</View>
)
}
答案 0 :(得分:0)
一种方法可能是在类似这样的组件上声明一个实例变量
myComponent{
constructor(props){
this.valToBeReturned;
}
}
然后,在内部函数中,可以使用所需的值对其进行初始化:
theFunction(user=>{
this.valToBeReturned = getdata.val().User //for example
})
通过这种方式,您可以在this.valToBeReturned上获得所需的值。