Pinia firebase user emailVerified属性失去反应性



目前我正在构建一个应用程序,在用户注册导航用户到电子邮件验证页面。然后,该页将监视Pinia商店中的firebase用户对象,等待emailVerified用户属性更新,然后将它们定向到新页面。

当我使用vue devtools手动更新用户对象时,我可以观察到我的console.log。当我收到电子邮件验证电子邮件并使用firebase提供的链接时,我的监视器对用户更新没有反应。我可以使用我的vue devtools刷新pinia商店,我看到我的firebase用户对象中的emailVerified已更新为true,但我的监视器从未被击中。

有什么主意,为什么我失去反应时,通过电子邮件流程?

testStore.js

export const useTestStore = defineStore('test', () => {
const auth = getAuth()
const {user} = useAuth(auth)
return {
user: user,
}
})

emailVerification.js

<script setup>
const { user } = storeToRefs(testStore)
watch(user, () => {
console.log('Direct user to new page')
}, { deep:true })
</script>

出于某种原因,当用setInterval替换我的手表时,它似乎有效…虽然这不是理想的解决方案

setInterval(function () {
if(user){
if(user.value?.emailVerified) {
console.log('Direct user to new page');
}
}
}, 5000); 

最新更新