Javascript 当我刷新时,用户在Vue和Firebase项目中消失
我的代码在下面Javascript 当我刷新时,用户在Vue和Firebase项目中消失,javascript,firebase,vue.js,firebase-authentication,Javascript,Firebase,Vue.js,Firebase Authentication,我的代码在下面 // getUser.js import { ref } from '@vue/reactivity' import { projectAuth } from '../firebase/config.js' const user = ref(projectAuth.currentUser) projectAuth.onAuthStateChanged( _user => { user.value = _user console.log("User a
// getUser.js
import { ref } from '@vue/reactivity'
import { projectAuth } from '../firebase/config.js'
const user = ref(projectAuth.currentUser)
projectAuth.onAuthStateChanged( _user => {
user.value = _user
console.log("User available")
})
const getUser = () => {
return ( user )
}
export default getUser;
//Account.vue
欢迎
从“../composables/getUser.js”导入getUser
导出默认值{
设置(){
const{user}=getUser();
console.log(用户)
返回{user}
}
}
当我刷新时,欢迎不会出现。并且console.log如下所示
我可以知道我的代码是否正确吗?因为尽管我得到了一个新的用户值,v-if似乎没有更新。谢谢 您的
getUser
函数直接返回对用户结构的引用,但您正在尝试在此处的赋值中分解结构:const{user}=getUser()代码>。由于ref对象没有user
属性,因此user
变量始终未定义。相反,请尝试constuser=getUser()代码>。你好,谢谢你解决了我的问题!我花了一个多小时在上面,结果发现这是我的基本原理,现在还没有。再次感谢你,朋友!这听起来像是一个答案@kdau!:-D
// Account.vue
<template>
<h3 v-if="user">Welcome</h3>
</template>
<script>
import getUser from '../composables/getUser.js'
export default {
setup() {
const { user } = getUser();
console.log(user)
return { user }
}
}
</script>