Front End/VUE

[Vue 공식 문서 뽀시기-3] Vue 라이프 사이클

RIEN😚 2022. 5. 11. 16:32
728x90
반응형

프로그래머스 데브코스 - Vue

 

시작하기 | Vue.js

시작하기 NOTE 이미 Vue 2를 알고 있고 Vue 3의 새로운 점을 배우고 싶으신가요? Migration Guide를 확인하세요! Vue.js가 무엇인가요? Vue(/vjuː/ 로 발음, view 와 발음이 같습니다.)는 사용자 인터페이스를

v3.ko.vuejs.org

 

라이플 사이클

 

각 Vue Component는 일련의 초기화 단계를 거쳐 화면에 그려집니다. 그리고 DOM 업데이트 시에도 몇 단계를 거쳐 진행됩니다.

이러한 일련의 과정을 통틀어 라이플 사이클이라고 하며 아래 그림과 같습니다.

 

Vue는 라이프 사이클마다 각 단계에 해당하는 특별한 함수를 실행하여, 사용자가 특정 단게에서 자신의 코드를 제어할 수 있는 기회를 제공합니다. 

-> 이것이 바로 라이프 사이클 훅! 입니다.

 

라이프 사이클 훅에는 created, mounted, updated, unmounted 등이 있으며

모든 라이프 사이클 훅 함수에서는 Vue 인스턴스를 가리키는 this를 사용할 수 있습니다.

Vue.createApp({
	data() {
    	return { count: 1 }
    },
    created() {
    	// `this`는 Vue 인스턴스를 가리킵니다.
        console.log('count is: ' + this.count) // count is: 1
    }
})
🔥 Vue 인스턴스 내 option이나 call back 내에서는 this를 사용할 수 있습니다. 따라서 option 또는 call back을 화살표 함수로 선언해서는 안됩니다.
이름 설명

beforeCreate

Vue 인스턴스가 초기화된 직후에 호출
data, watcher, event 리스너를 초기화 하기 전이므로 접근할 수 없습니다.

created

methods, computed, watch에 접근하여 사용할 수 있습니다.
주로 부모 또는 외부로부터 받아온 데이터를 가공하거나 event 리스너를 선언할 때 사용합니다.

beforeMount

DOM에 마운트하기 전에 호출

mounted

DOM과 Vue 인스턴스가 마운트된 상태
* 부모 / 자식 Component의 mount 순서

beforeUpdate

데이터의 값이 변경되었을 때 이를 DOM에 반영하기 위한 단계에서 DOM 변경 직전에 호출

updated

변경된 값에 의해 virtual DOM이 리렌더링된 이후에 호출
* 만약 updated에서 데이터를 변경하게 되면 다시 update 과정을 실행하게 되어 무한루프에 빠질 수 있음에 유의하자!

beforeUnmount

unmount가 호출되어 Vue 인스턴스 해제되기 전에 호출
리소스와 event 리스너들을 해체시켜줄 때 사용됩니다.

unmounted

Vue 인스턴스가 해제된 이후에 호출
자식 Component들도 모두 제거된 상태입니다.

 

+ Vue 2.0 에서의 라이프 사이클

Vue3 버전이 나온지 꽤 되었지만 Vue 2 버전도 많이 사용되기 때문에 Vue 2에서의 라이프 사이클도 보겠습니다.

 

Vue2에서는 beforeDestroy / destroyed가 호출되었다면 Vue3에서는 beforeUnMount / mounted로 변경된 점에 유의하자!

호출되는 시점은 크게 달라진 점이 없습니다.🤨

 

반응형