
Vue.js es un framework de JavaScript muy popular para crear aplicaciones web. Está pensado para ser fácil de usar y de entender, y por eso gusta tanto a quien empieza como a quien lleva años programando. Uno de sus aspectos más importantes es el sistema de hooks del ciclo de vida, que permite controlar cómo se comportan los componentes cuando se montan, se actualizan y se desmontan del árbol de componentes.
¿Qué es un hook del ciclo de vida de Vue.js?
Un hook del ciclo de vida de Vue.js es una función que se llama en distintos momentos: cuando el componente se crea, cuando se actualiza y cuando se elimina. Los hooks permiten definir acciones concretas en cada etapa de la vida del componente, como inicializar variables, llamar a métodos asíncronos o liberar recursos.
Los hooks del ciclo de vida más usados
Vue.js tiene varios hooks del ciclo de vida, pero los más habituales son estos:
setup: setup() se ejecuta antes que todos los demás hooks y sirve de punto de entrada para usar la Composition API en un componente, sin paso de compilación o para integrar código basado en la Composition API dentro de un componente con Options API.created: se llama después de crear el componente e inicializar sus propiedadesmounted: se llama cuando el componente se monta en la página y ha terminado de renderizarseupdated: se llama cuando el componente se actualiza con datos nuevosdestroyed: se llama cuando el componente se destruye y se liberan sus recursos

Cómo usar los hooks del ciclo de vida
Usar los hooks del ciclo de vida en Vue.js es sencillo: basta con añadir un método al objeto de opciones de tu componente. Por ejemplo, para definir una acción que se ejecute cuando el componente se monta, añade este método al objeto de opciones:
mounted () {
// código que se ejecuta cuando el componente se monta
}Ejemplo de uso de los hooks del ciclo de vida
Imagina un componente que muestra una lista de artículos obtenida de una API. Puedes apoyarte en los hooks del ciclo de vida para lo siguiente:
- En el hook
created, llamar a la API para recuperar los artículos - En el hook
mounted, mostrar los artículos en la página conv-for - En el hook
updated, comprobar si los datos han cambiado y volver a llamar a la API si hace falta - En el hook
destroyed, liberar los recursos, como las suscripciones a eventos, para evitar fugas de memoria.
Este es un ejemplo concreto que usa los hooks del ciclo de vida para mostrar una lista de artículos:
<template>
<div>
<ul>
<li v-for="article in articles" :key="article.id">{{ article.title }}</li>
</ul>
</div>
</template>
<script>
export default {
data () {
return {
articles: []
}
},
created () {
this.fetchData()
},
methods: {
fetchData () {
// llama a la API para recuperar los artículos
}
},
updated () {
if (this.articles.length === 0) {
this.fetchData()
}
},
destroyed () {
// limpia aquí los recursos
}
}
</script>Preguntas frecuentes sobre los hooks del ciclo de vida de Vue JS
¿En qué orden se ejecutan los hooks del ciclo de vida de Vue JS?
En Vue 3, el orden de ejecución es este: beforeCreate -> created -> beforeMount -> mounted -> beforeUpdate -> updated -> beforeDestroy -> destroyed.
¿Puedo usar varios hooks del ciclo de vida en un mismo componente?
Sí, puedes usar varios hooks del ciclo de vida en un mismo componente. Resulta útil cuando quieres vigilar y controlar el comportamiento de un componente en distintos momentos de su vida.
¿Hay hooks del ciclo de vida que no se puedan combinar?
No, no hay ninguna restricción para combinar hooks del ciclo de vida. Eso sí, algunos solo tienen sentido en determinadas etapas: beforeDestroy, por ejemplo, solo puede usarse una vez creado el componente y antes de que se destruya.
Conclusión
Los hooks del ciclo de vida de Vue.js son una herramienta potente para controlar cómo responden los componentes a los distintos eventos. Con ellos puedes ejecutar acciones concretas en cada momento de la vida del componente: inicializar variables, llamar a métodos asíncronos o liberar recursos. Prueba los distintos hooks del ciclo de vida de Vue.js para afinar tu forma de desarrollar.


