小编ege*_*gel的帖子

使用 firebase 和反应查询时如何删除注销数据?

当我的用户注销时,我想从应用程序中删除所有用户数据,但我在实现此操作时遇到了困难。

我有一个自定义的 useUserData() 挂钩来获取用户的数据。getUser() 是一个可调用的云函数。这是我到目前为止的代码。

import { useEffect, useState } from "react"
import { useQuery, useQueryClient } from "react-query"
import { getUser } from "Services/firebase/functions"
import firebase from "firebase/app"

export default function useUserData(){
    const [ enabled, setEnabled] = useState(false)
    const queryClient = useQueryClient()

    useEffect(_ => {
        const unsubscribe = firebase.auth().onAuthStateChanged(user => {
            setEnabled(Boolean(user))
            if (!user){
                // remove data
            }
            else queryClient.invalidateQueries("user", { refetchActive: true, refetchInactive: true })
        })

        return unsubscribe()
    }, [])

    return useQuery(
        "user", 
        () => getUser().then(res => res.data), …
Run Code Online (Sandbox Code Playgroud)

firebase reactjs firebase-authentication google-cloud-functions react-query

7
推荐指数
3
解决办法
1万
查看次数