【发布时间】:2020-09-28 04:27:35
【问题描述】:
我正在使用 React 16.13.1
我正在尝试从“列表”集合中获取文档。 如果我注释掉第 15 到 24 行并取消注释第 25 行,它将起作用。
但是,我收到了这个错误: “FirebaseError:无法获取文档,因为客户端离线。”
第 24 行传递给 getDoc() 的参数与第 25 行相同。
有谁知道为什么会发生这种情况以及如何在使用第 18 行时让 getDoc() 函数工作?
更新:我注意到我可以毫无错误地调用数据库,但只有在登录后我才会收到错误“FirebaseError: Failed to get document because the client is offline”
1. import React, { useState, useEffect } from 'react'
2. import { Redirect } from 'react-router-dom'
3. import Firebase from '../../services/Firebase/firebase'
4. import useStyles from './styles.js'
5.
6. const Login = ({ currentUser, setCurrentUser }) => {
7. const [username, setUsername] = useState('')
8. const [password, setPassword] = useState('')
9. const [error, setError] = useState(null)
10.
11. const classes = useStyles()
12.
13. const handleForm = async e => {
14. e.preventDefault()
15. let email = username + '@site.com'
16. let document
17. try {
18. document = await Firebase.doSignInWithEmailAndPassword(email, password)
19. } catch (err) {
20. setError('Sorry, there was an issue with your account. Please try again later.')
21. }
22. const { user } = document
23. console.log(user.uid)
24. getDoc(user.uid)
25. // getDoc('GeAT8UytRYSax49VNwSYAzFrp7t1')
26. }
27.
28. const getDoc = async (uid) => {
29. try {
30. const list = await Firebase.database.collection('List').doc(uid).get()
31. console.log(list)
32. } catch(err){
33. console.log(err)
34. }
35. }
36.
37. return (
38. <>
39. {/* Some HTML */}
40. </>
41. )
42. }
43.
44. export default Login
【问题讨论】:
标签: reactjs firebase google-cloud-firestore react-hooks