首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Firebase V9联机状态

Firebase V9联机状态
EN

Stack Overflow用户
提问于 2022-05-27 19:30:57
回答 1查看 122关注 0票数 1

我正在尝试重新配置一些Firebase v8代码,使其成为firebase v9中的React.在登录/注册页面上,我希望将联机状态更改为true。

我不确定这一行代码是否会有很大不同,或者与更新后的变量名称完全相同。这可能是一个非常简单的问题(希望如此)。我知道,在v9中,许多这类东西都是用一个函数的导入语句进行重构的,这个函数已经在firebase库中可用。如果这是其中之一..。*耽误您时间,实在对不起!如果我需要包括更多的代码以便有意义的话请提前告诉我.

旧(工作) v8代码:

变量:

  • projectAuth = firebase.auth()
  • projectFirestore = firebase.firestore()

专注于下面一行:"// set online to true“...within登录/注册页面:

代码语言:javascript
运行
复制
try {
  // login
  const res = await projectAuth.signInWithEmailAndPassword(email, password)

  //set online to be true
  await projectFirestore.collection('users').doc(res.user.uid)
    .update({ online: true })

    // dispatch login action
  dispatch({ type: 'LOGIN', payload: res.user })

  if (!isCancelled) {
    setIsPending(false)
    setError(null)
  }
}    

我的v9代码:

变量:

  • auth = getAuth()
  • db = getFirestore()

代码语言:javascript
运行
复制
    try {
      // login
      await signInWithEmailAndPassword(auth, email, password)
      .then((res) => {

        // dispatch login action
        dispatch({ type: 'LOGIN', payload: res.user })

        //set online to be true
        await projectFirestore.collection('users').doc(res.user.uid)
          .update({ online: true })
        
        if (!isCancelled) {
          setIsPending(false)
          setError(null)
        }
      })
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-27 19:45:06

有一个顶级函数updateDoc()来更新文档:

代码语言:javascript
运行
复制
import { updateDoc, doc } from "firebase/firestore";

const docRef = doc(db, "users", res.user.uid)

await updateDoc(docRef, { online: true });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72410253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档