Tengo un pequeño problema con Vue 3. El problema es que, la primera vez que visito la página, todo se ve bien, pero la segunda vez, cuando se vuelve a cargar el getter, prerenderizará la página. Básicamente, puedo ver la primera carga, eliminar la primera carga y cambiar por una nueva, pero como sé, solo debería actualizar la matriz y no renderizar previamente la tabla anterior.
Así que esto es lo que arruiné:
Así es como se ve el archivo de mi tienda:
export const forum = { state: { forum: [] }, actions: { async GET_FORUMS(commit: any, payload: any ) { API.get('/forum') .then((response: any) => { commit.commit('forum', response.data.data) }).catch((e) => ( notif.error(e.message) ) ) } }, mutations: { async forum(state: any, forum:any) { state.forum = forum }, }, getters: { forums(state:any) { return state.forum; }, } }Y aquí está el método de instalación en el archivo vue.
const store = useStore(); const isLoading = ref(true) const forums = computed(() => { return store.getters.forums }) onBeforeMount(async () => { if (isLoading.value) { await store.dispatch('GET_FORUMS') isLoading.value = false } });¿Qué he estropeado aquí?