javascript - 获取文档时出错 [TypeError: undefined is not a function (near '...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: undefined is not a function (near '...snapshot.forEach...')]
你有什么建议吗?在此先感谢您的帮助
解决方案
确保 varsnapshot
是一个可迭代对象,并且在使用之前与 undefined 不同foreach
推荐阅读
- google-sheets-api - 使用 Google Sheets API 读取公共电子表格时出现 PERMISSION_DENIED 错误
- java - JavaFX 窗口在视觉上没有响应
- google-api - 获取 Youtube 数据 API 的 403 禁止错误
- opengl-es - 打开 GL ES 错误:未定义对“glDispatchCompute”的引用
- python - Python IRC Bot静默超时(?) - 突然停止工作
- angular - 如何在嵌套的 Json 对象中获取循环
- sql - 使用 xmlagg 查找要连接的计数
- javascript - WebSocket 反应本机
- python-3.x - 在时间序列数据的情况下输入 LSTM
- msbuild - .Net Standard 项目的 MsBuild 失败并出现错误“Package System.Security.Cryptography.ProtectedData,未找到版本 xxx”