Contenido del curso
Built-in Components
Componentes personalizados
Composition API
- 12

Composition API: setup en Vue 3
08:13 min - 13

Hooks del ciclo de vida en Vue 3 setup
05:18 min - 14

`ref` y `reactive` en Vue Composition API
07:37 min - 15

Watchers con Composition API en Vue.js
05:32 min - 16

Propiedades computadas con Composition API
07:10 min - 17

Props reactivos con toRefs en Vue.js
05:26 min - 18

El argumento context en Vue 3 setup
08:33 min - 19

provide e inject en Vue Composition API
05:00 min - 20

Template Refs en Vue 3 con Composition API
05:33 min - 21

Composition API vs Options API en Vue.js
07:26 min - 22

script setup en Vue 3 sin export default
06:34 min
Cierre del curso
Hooks del ciclo de vida en Vue con ejemplos
Resumen
Los hooks del ciclo de vida en Vue.js te permiten ejecutar código en momentos específicos de la existencia de un componente: antes de crearse, al crearse, al montarse en el DOM y al destruirse. Saber cuándo dispararlos evita errores comunes al intentar acceder a datos o elementos que aún no existen.
Este recorrido práctico te muestra qué ocurre con data y con el elemento HTML en cada fase, usando un componente mínimo en App.vue que solo declara una variable text con el valor Hola, Vue.
¿Cómo se declaran los hooks dentro de un componente Vue?
Dentro del objeto del componente, los hooks se agregan como funciones al mismo nivel que data. No necesitas importar nada extra: basta con escribir el nombre del hook y darle un cuerpo.
En el ejemplo se añaden tres funciones para observar el comportamiento paso a paso:
beforeCreate: se ejecuta antes de inicializar la reactividad.created: corre cuando la instancia ya existe, pero el componente todavía no se monta.mounted: dispara cuando el componente ya está en el DOM.
Dentro de cada función se imprime con console.log el nombre del hook, junto con this.$data para inspeccionar el objeto de datos y this.$el para revisar el elemento HTML asociado.
¿Qué es un hook del ciclo de vida en Vue? Es una función que Vue ejecuta automáticamente en un momento específico de la vida de un componente, como su creación, montaje o destrucción. Te da un punto exacto para correr lógica.
¿Qué pasa con data y el elemento DOM en cada fase?
Al recargar el navegador con el dev server activo, la consola muestra una secuencia clara de tres estados muy distintos. Y aquí viene lo interesante: cada hook tiene acceso a cosas diferentes.
¿Qué ocurre en beforeCreate?
En esta fase el objeto data aparece vacío y el elemento HTML tampoco existe. Vue todavía no ha inicializado el sistema de reactividad, así que la variable text aún no es accesible desde la instancia. Tampoco hay nada montado en el virtual DOM.
Usar beforeCreate para leer datos del componente no funciona, porque simplemente no están listos.
¿Qué ocurre en created?
Cuando se dispara created, la instancia del objeto Vue ya fue construida. Ahora this.$data sí contiene la variable text con el valor Hola, Vue, porque la función que devuelve los datos ya se ejecutó.
Sin embargo, el elemento HTML sigue sin existir. El componente fue creado, pero no montado. Es el momento ideal para preparar datos, no para tocar el DOM.
¿Cuándo puedo acceder a this.$data en Vue? Desde el hook
createden adelante. Antes de eso, enbeforeCreate, el sistema de reactividad aún no ha inicializado las variables del componente.
¿Qué ocurre en mounted?
En mounted ya tienes ambos: el objeto data con tus variables y el elemento del DOM, que en este caso es un div con el texto Hola, Vue. Aquí ya puedes manipular el HTML con Vanilla JS o cualquier librería que necesite un nodo real para funcionar.
Este es el hook indicado para integraciones con librerías externas, mediciones de tamaño o cualquier acción que dependa de que el componente esté presente en la página.
¿Por qué importa el orden del ciclo de vida?
El comportamiento que observas en App.vue se repite en cada componente del árbol, desde el raíz hasta el último hijo. Si intentas acceder al DOM demasiado pronto, obtienes undefined; si esperas demasiado, puedes perder oportunidades de inicializar valores antes de renderizar.
Algunas reglas prácticas que se desprenden del ejercicio:
- Inicializa datos derivados o llamadas iniciales en
created. - Manipula el DOM o conecta librerías externas en
mounted. - Limpia listeners, timers o conexiones cuando el componente se desmonta.
Los hooks funcionan exactamente igual entre sí en cuanto a sintaxis. Lo único que cambia es el momento en que Vue los llama y, por tanto, a qué información puedes acceder dentro de ellos.
¿Cómo practicar el resto de los hooks del ciclo de vida?
El reto es replicar el mismo experimento con los demás hooks: beforeMount, beforeUpdate, updated, beforeUnmount y unmounted. La idea no es solo imprimir un console.log, sino observar con detalle qué partes del componente siguen disponibles y cuáles ya no.
Algunas preguntas guía mientras experimentas:
- ¿Puedes leer
this.$eljusto antes de montar el componente? - ¿Qué pasa con los métodos y las propiedades computadas tras
unmounted? - ¿Sigue siendo accesible el objeto
datacuando el componente se destruye?
Probar cada caso te da una intuición real sobre la reactividad de Vue.js y te prepara para depurar errores típicos cuando un componente intenta tocar algo que ya no existe. Comparte tus hallazgos en el sistema de comentarios para revisarlos en conjunto.