Vue · Middle · Pytanie 42 z 75
Jak użyć store'a poza komponentem, np. w guardzie routera?
router.beforeEach((to) => {
const auth = useAuthStore();
if (to.meta.requiresAuth && !auth.user) return "/login";
});- ✓Poprawna odpowiedź: Wywołać
useStore()wewnątrz funkcji uruchamianej po zainstalowaniu Pinii, a nie na najwyższym poziomie modułu - 2Zaimportować instancję store'a utworzoną przy ładowaniu modułu
- 3Store'ów nie można używać poza komponentami
Wyjaśnienie
Na najwyższym poziomie modułu instancja Pinii może nie być jeszcze aktywna (a w SSR byłaby współdzielona między żądaniami). Wywołanie hooka w guardzie używa aktywnej Pinii aplikacji.