Ошибка при получении документов [TypeError: undefined не является функцией (рядом с '... snapshot.forEach ...')] - PullRequest
0 голосов
/ 05 ноября 2019

Я недавно практикуюсь в React Native и разработал форму входа, прикрепленную к Firebase. Я пытаюсь получить имя пользователя из базы данных и распечатать имя вошедшего в систему пользователя на экране.

Это мой код:

constructor() {
            super();
            this.state = {
             name: ''
            };
          }

handleUser = () => {
const db = firebase.firestore();
db.collection('users').doc('name').get()
      .then(snapshot => {
        snapshot.forEach(doc => {
          const data = doc.data();
          console.log(doc.id, data);
          this.setState({
                  data: doc.data,
                })
        });
      })
      .catch(err => {
        console.log('Error getting documents', err);
      });
}

<View style={styles.container}>
      <Image
          style={styles.background}        
          source={require('../assets/Rectangle121.png')}
      />        

     <TouchableOpacity  style={{position:"absolute", top:'9%', borderBottomColor:'black', borderRadius:5, alignItems:'center', justifyContent:'center' }} onPress={() => {this.handleUser(this.state.name)}} >
     <Image source={require('../assets/Rectangle204.png')} />
</View>
     </TouchableOpacity>

Ошибка:

Ошибка при получении документов [Ошибка типа: undefined не является функцией (рядом с '... snapshot.forEach ...')]

У вас есть предложения? Заранее спасибо за помощь

1 Ответ

1 голос
/ 05 ноября 2019

перед использованием foreach

убедитесь, что переменная snapshot является итеративным объектом и отличается от неопределенного
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...