SeouliteLab

[Vue.js] renderTriggered: 컴포넌트 렌더링 완료 후 실행되는 훅 이해하기 본문

카테고리 없음

[Vue.js] renderTriggered: 컴포넌트 렌더링 완료 후 실행되는 훅 이해하기

Seoulite Lab 2024. 4. 26. 08:22

 

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: 컴포넌트 렌더링 과정이 완료된 후에 호출됩니다.