Firebase + React Native:如何获取所有数据

时间:2018-11-29 19:46:21

标签: firebase react-native firebase-realtime-database

所以我想将所有这些数据接收到我的代码中,然后渲染它们

enter image description here

我阅读了许多其他问题和主题以及Firebase文档,但仍然没有正确的方法

所以我现在所拥有的是上面的数据库,下面的代码。

但是问题在于它仅呈现白色屏幕,我找不到我的错误。

我该如何解决?

import firebase from "react-native-firebase";
import _ from 'lodash';

export default class Messagesss extends React.Component {
  state = {
   loading: false,
   users: []
  };

  componentWillMount() {
   var allMessages = firebase.database().ref(`/users`);
   allMessages.once('value').then(snapshot => {
  this.setState({ users: snapshot.val(), loading:false })
})
}

 renderItem({item}) {
   return (
     <View style = {styles.contactContainer}>
      <View style={styles.userRow}>
        <View style={styles.userImage}>
          <Avatar
            width={60}
            rounded
            source={{
              uri: "https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Matterhorn_from_Domhütte_-_2.jpg/1200px-Matterhorn_from_Domhütte_-_2.jpg"
            }}
          />
        </View>
         <View>
          <View style={styles.emailBackground}>
           <Text
             style = {styles.contact} >
             {item.email}
           </Text>
           </View>
           <Text
              style = {styles.message} >
              Da inne lauft öpis...
           </Text>
          </View>
         </View>
       </View>
     )
 }

 render() {
  if (this.state.loading) {
    return (
      <View style={{alignItems: 'center', justifyContent: 'center', flex: 1}}>
        <ActivityIndicator size="large" color="dodgerblue" />
      </View>
    )
  }
  return (
    <View style={styles.container}>
     <Header
       centerComponent={{ text: 'Nachrichten', style: { color: '#FF0000', fontSize: 20, fontWeight: 'bold' } }}
       outerContainerStyles={{ backgroundColor: '#ffffff' }}
     />
      <FlatList
        data={this.state.users}
        renderItem={this.renderItem}
        keyExtractor={item => item.uid}
      />
    </View>
  );
}
}

0 个答案:

没有答案