import { onMounted } from 'vue';
onMounted(() => {
console.log('컴포넌트가 마운트되었습니다.');
});
import { onUpdated } from 'vue';
onUpdated(() => {
console.log('컴포넌트가 업데이트되었습니다.');
});
import { onBeforeUnmount, onUnmounted } from 'vue';
onBeforeUnmount(() => {
console.log('컴포넌트가 제거되기 직전입니다.');
});
onUnmounted(() => {
console.log('컴포넌트가 제거되었습니다.');
});
keep-alive로 감싼 컴포넌트가 활성화(보여질 때)될 때 호출됨.keep-alive로 감싼 컴포넌트가 비활성화(숨겨질 때)될 때 호출됨.import { onActivated, onDeactivated } from 'vue';
onActivated(() => {
console.log('컴포넌트가 활성화되었습니다.');
});
onDeactivated(() => {
console.log('컴포넌트가 비활성화되었습니다.');
});
import { onErrorCaptured } from 'vue';
onErrorCaptured((err, instance, info) => {
console.error('에러 발생:', err);
// 에러 전파 중단하려면 false를 반환
return false;
});
Vue 컴포지션 API의 생명주기 훅은 Options API에서 제공하는 기능을 함수 형태로 제공하여, 더 유연하고 모듈화된 방식으로 컴포넌트의 라이프사이클을 관리할 수 있게 해줍니다. 각 훅의 역할과 시점을 잘 이해하면, 컴포넌트의 생성, 갱신, 제거 시에 필요한 작업들을 명확하게 분리하여 작성할 수 있습니다.
참고