我需要帮助来比较firebase数据(if)并呈现正确的组件。
任何帮助都将不胜感激。
export default class EstoqueScreen extends Component {
constructor(props){
super(props);
var id=firebase.auth().currentUser.uid;
firebase.database().ref().child('users/'+id).once('value').then((snapshot) => {
var tipoUsuario=snapshot.val().tipo
});
}
render(){
console.log(this.tipoUsuario);
if(this.tipoUsuario==='admin'){
return(
<View>
<EstoqueAdminScreen/>
</View>
)
}else if(this.tipoUsuario==='vendedor'){
return(
<View>
<EstoqueVendScreen/>
</View>
)
}
}
}
答案 0 :(得分:1)
export default class EstoqueScreen extends Component {
constructor(props){
super(props);
state = {
loading: true,
tipoUsuario: null,
}
}
componentDidMount(){
var id=firebase.auth().currentUser.uid;
firebase.database().ref().child('users/'+id).once('value').then((snapshot) => {
this.setState({ tipoUsuario: snapshot.val().tipo, loading: false })
});
}
render(){
console.log(this.state.tipoUsuario);
if(this.state.loading){
return (
<View>Loading</View>
)
}
if(this.state.tipoUsuario==='admin'){
return(
<View>
<EstoqueAdminScreen/>
</View>
)
}else if(this.state.tipoUsuario==='vendedor'){
return(
<View>
<EstoqueVendScreen/>
</View>
)
}
return (
<View>No hay tipo</View>
)
}
}