获取文档时出错[TypeError:未定义不是一个函数(在'... snapshot.forEach ...'附近)]

我最近正在练习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>

错误是:

  

获取文档时出错[TypeError:未定义不是函数(在'... snapshot.forEach ...'附近)]

您有什么建议吗?预先感谢您的帮助

pipippip 回答:获取文档时出错[TypeError:未定义不是一个函数(在'... snapshot.forEach ...'附近)]

在使用snapshot之前,请确保变量foreach是一个可迭代的对象,并且与未定义的对象不同。

本文链接:https://www.f2er.com/3159532.html

大家都在问