Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Vue.js] renderTriggered: 컴포넌트 렌더링 완료 후 실행되는 훅 이해하기 본문
1. 개요
Vue.js 3.0에서 도입된 renderTriggered 훅은 컴포넌트 렌더링 과정이 완료된 후에 실행되는 새로운 라이프사이클 훅입니다. 이 훅을 사용하면 컴포넌트 렌더링 후에 필요한 작업을 수행하거나 렌더링 결과를 확인할 수 있습니다.
2. renderTriggered 훅 사용 예시
다음은 renderTriggered 훅을 사용하는 예시입니다.
HTML
<template>
<div>
<h2>{{ title }}</h2>
<p>{{ content }}</p>
</div>
</template>
<script>
export default {
name: 'MyComponent',
data() {
return {
title: '제목',
content: '내용',
};
},
renderTriggered() {
// 컴포넌트 렌더링 완료 후에 수행할 작업을 여기에 작성합니다.
console.log('컴포넌트 렌더링 완료!');
// 렌더링 결과 확인
const el = this.$el;
console.log('렌더링된 DOM 요소:', el);
},
};
</script>
<style scoped>
/* 스타일 정의 */
</style>
설명:
- renderTriggered 훅은 컴포넌트 렌더링 과정이 완료된 후에 호출됩니다.
- 훅 내에서 렌더링 완료 메시지를 콘솔에 출력합니다.
- this.$el 요소를 사용하여 렌더링된 DOM 요소를 확인할 수 있습니다.
3. renderTriggered 훅의 장점
renderTriggered 훅을 사용하면 다음과 같은 장점을 얻을 수 있습니다.
- 렌더링 후 작업 수행: 컴포넌트 렌더링 후에 필요한 작업을 수행할 수 있습니다. 예를 들어, 애니메이션 실행, 데이터 로딩, DOM 조작 등을 수행할 수 있습니다.
- 렌더링 결과 확인: 렌더링된 DOM 요소를 확인하여 렌더링 문제를 디버깅하거나 테스트하는 데 도움이 됩니다.
- 성능 향상: 컴포넌트 렌더링 과정 중에 불필요한 작업을 수행하지 않도록 하여 성능을 향상시킬 수 있습니다.
4. 주의 사항
- renderTriggered 훅은 Vue 3.0 이상 버전에서만 사용할 수 있습니다.
- renderTriggered 훅은 컴포넌트 렌더링 과정이 완료된 후에 호출되므로 렌더링 과정 자체에 영향을 미치지 않습니다.
- renderTriggered 훅은 렌더링 성능에 영향을 미칠 수 있으므로 사용 시 주의해야 합니다.
5. renderTriggered 훅과 함께 사용할 수 있는 다른 훅
- beforeRender: 컴포넌트 렌더링 과정이 시작되기 직전에 호출됩니다.
- afterRender: 컴포넌트 렌더링 과정이 완료된 후에 호출됩니다.