Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

170
Vistas
Vue no ve actualizaciones de mi objeto que se obtiene de vuex

Tengo un objeto en vuex que estoy recibiendo en la página por captadores, pero vue solo ve la primera actualización del objeto. Recojo el objeto paso a paso, así que primero está vacío, luego confirmo que actualiza el estado de vuex (setUser) y vue muestra esta nueva información en la página. Pero luego uso una confirmación más (addInfo) y funciona. Puedo ver información actualizada usando Vue DevTools, pero no puedo usarla en la página que muestra el segundo estado.

 async fetchUser({ commit, state }) { return new Promise(() => { axiosInstance .get(User(), { headers: { Authorization: 'Token ' + localStorage.getItem('token'), }, }) .then((res) => { commit('setUser', res.data); }) .then(() => { axiosInstance.get(UserID(state.userInfo.pk)).then((res) => { axiosInstance.get(res.data.profile).then((res) => { commit('addInfo', res.data); console.log(state.userInfo); }); }); }) .catch((err) => { console.log(err); }); }); }

Objeto llamado userInfo estoy entrando en la página por

 computed: { ...mapGetters(['userInfo']), }, created() { this.$store.dispatch('fetchUser'); }

esto es lo que me sale en la paginaesto es lo que me sale en la pagina

Así es como se ve realmente el objeto así es como se ve realmente el objeto

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Este es un problema de reactividad común, hay múltiples soluciones a las que te acostumbrarás:

Básicamente, Vue no puede detectar la adición de propiedades en los objetos debido a las limitaciones de JS, para resolverlo, su estado inicial state.userInfo debe tener todas las claves que desea que tengan reactividad, puede configurarlas en null , '' o 0 según el tipo.

 userInfo: { //all my userInfo reactive keys 1stkey: '', 2ndkey: null, 3rdkey: 0, ... 100thkey: '', }

También puede establecer su state.userInfo = null inicialmente en nulo para que pueda detectar cuándo se llena.

Consulte aquí para obtener más información sobre la reactividad de Vue en los documentos de Vue

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda