当我的用户注销时,我想从应用程序中删除所有用户数据,但我在实现此操作时遇到了困难。
我有一个自定义的 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