Ciclo de Vida de Componentes en Vue.js: Práctica con Hooks

Clase 10 de 23Curso de Vue.js: Componentes y Composition API

Resumen

¿Cómo se ve el ciclo de vida de los componentes en Vue?

El ciclo de vida de los componentes en Vue es una herramienta crucial para los desarrolladores, permitiendo gestionar el tiempo de vida de un componente desde su creación hasta su destrucción. En este ejemplo práctico, exploraremos cómo funcionan los hooks del ciclo de vida en un componente Vue, ejecutando código JavaScript en etapas específicas para obtener un mayor control sobre el comportamiento de nuestros componentes.

¿Qué hooks del ciclo de vida podemos usar?

Vue ofrece varios hooks que podemos utilizar para ejecutar código en diferentes etapas del ciclo de vida de un componente. Algunos de los hooks más comunes son:

  • beforeCreate: Se ejecuta antes de que el componente sea creado.
  • created: Se ejecuta después de que el componente ha sido creado.
  • mounted: Se ejecuta una vez que el componente ha sido insertado en el DOM.
  • unmounted: Se ejecuta cuando el componente ha sido removido del DOM.

Ejemplo práctico

A continuación, presentamos un script que implementa algunos de estos hooks dentro de un componente Vue, mostrando cómo y cuándo podemos acceder a diferentes partes del componente:

export default {
  data() {
    return {
      text: 'Hola, Vue',
    };
  },
  beforeCreate() {
    console.log('beforeCreate: ', this.data, this.el);
  },
  created() {
    console.log('created: ', this.data, this.text);
  },
  mounted() {
    console.log('mounted: ', this.data, this.$el);
  }
}

¿Qué sucede con los objetos data y DOM en cada hook?

Al ejecutar el script anterior y observar los resultados en el navegador, podemos analizar el comportamiento de los diferentes hooks:

  1. beforeCreate:

    • En este punto, el objeto data está vacío y el elemento del DOM (this.el) aún no existe. No se han inicializado las variables reactivas de Vue.
  2. created:

    • Aquí, el objeto data ya ha sido creado y la variable text está disponible.
    • Sin embargo, el elemento del DOM aún no está disponible, puesto que el componente no ha sido montado.
  3. mounted:

    • En este momento, tanto el objeto data como el elemento del DOM están presentes.
    • Esto permite interactuar con el DOM utilizando JavaScript puro, pudiendo modificar o acceder al HTML del componente.

¿Cómo experimentar con otros hooks del ciclo de vida?

Te invito a implementar los demás hooks que ofrece Vue.js para experimentar con los resultados. Algunos ejercicios prácticos pueden incluir:

  • Probar el hook beforeDestroy para ver qué sucede cuando un componente está a punto de ser destruido.
  • Utilizar updated para responder a cambios en las propiedades del componente.
  • Experimentar con beforeUnmount para verificar el estado de las variables antes de que un componente sea desmontado.

Una invitación a la práctica

Te animo a que examines cada uno de los hooks y compartas tus hallazgos e implementaciones en nuestra plataforma de contribuciones de comentarios. Esta práctica no solo te ayudará a entender mejor los componentes de Vue.js, sino que también fomentará el aprendizaje colaborativo. ¡Sigue explorando y compartiendo! Nos encontraremos en la próxima clase para seguir profundizando en Vue.js.