Почему у меня не обновляются данные, когда я в Network отключаю подключение Wifi?
Вот мой компонент:
<template>
{{ this.status }}
<router-view v-slot="{ Component }">
<transition name="slide">
<component :is="Component" />
</transition>
</router-view>
</template>
<script>
import { useUserStore } from "@/stores/UserStore.js";
import { mapState } from "pinia";
export default {
name: "App",
computed: {
...mapState(useUserStore, ["status"]),
},
mounted() {
window.addEventListener("online", useUserStore().setStatus(true));
window.addEventListener("offline", useUserStore().setStatus(false));
// window.addEventListener("offline", () => {
// useUserStore().setStatus(false);
// console.log(useUserStore().status);
// });
window.addEventListener("load", () => {
if (navigator.onLine) {
useUserStore().setStatus(true);
} else {
useUserStore().setStatus(false);
}
});
},
};
</script>
Вот мой стор Pinia:
import { defineStore } from "pinia";
export const useUserStore = defineStore("UserStore", {
state() {
return {
user: undefined,
status: null,
};
},
getters: {
getStatus() {
return this.status;
},
},
actions: {
getUser(payload) {
this.user = payload;
},
setStatus(payload) {
this.status = payload;
},
},
});
При этом если я меняю в компоненте
window.addEventListener("offline", useUserStore().setStatus(false));
// window.addEventListener("offline", () => {
// useUserStore().setStatus(false);
// console.log(useUserStore().status);
// });
меняю комментарий местами, то на отключение "интернета", this.status отражает false. Как-будто бы для того, чтобы state обновился надо его вызвать (в данном случае через консоль просто). И так у меня вообще во многих компонентах. Как я понимаю само событие offline статут всё таки меняет, но вот реактивно на странице он не отображается... В чем мое недопонимание? Пробовал и без mapState, просто через computed. Там тоже нет обновления...