我在过去的4天里一直在学习Svelte,我正试图将其与Firebase集成。
我需要听一个文件命名的用户的uid后,用户登录,我保存在一个可写的名称userStore。
- 注意:我的背景是React,这可以通过useEffect轻松完成 *
我需要一种方法来调用unsubscribe在onDestroy语句.我怎么能这么做呢?
onDestroy(() => {
unsubscribe();
});
这是我现在的代码:
$: if ($userStore)
onSnapshot(doc(db, 'userInfo', $userStore.uid), (doc) => {
if (doc.data()) {
console.log(doc.data());
userInfoStore.set(doc.data() as UserInfo);
}
});
2条答案
按热度按时间jjjwad0x1#
我认为
onSnapshot()
返回unsubscribe
,所以它应该像这样工作用户注销时组件是否被销毁?因为如果用户注销,应该调用取消订阅?我认为在一个组件中可能不是处理逻辑的最佳位置。这将是一种通过定制商店
userInfoStore.js
auth.js
App.svelte(主组件)
不知道这有多重要,或者当页面关闭时侦听器是否停止
jbose2ul2#
Svelte宣布了Runes for v5,以下是如何实现它:
然后将这些函数导入到您的svelte组件中:
当然,您可以在组件内部执行所有这些逻辑。
请注意,Svelte v5尚未发布,将有变化,但只是想把它留在这里供将来参考。