Vue Componentのライフサイクルフック(created, mounted, updated, destroyed など )一覧・まとめ

VueLifeCycleHook

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、Vue Componentのライフサイクルフック(created, mounted, updated, destroyed)などについて、まとめて解説していきます。

Vue Componentのライフサイクルフックまとめ・一覧

Vue.jsのコンポーネントは、いくつかのライフサイクルフック(lifecycle hooks)を持っています。

これらのフックは、コンポーネントの作成、更新、破棄などの Componentの 状態によって、特定のコードを実行するために使用されます。

Vue.js 2系のライフサイクルフックをまとめると次のとおりです。

  1. beforeCreate: コンポーネントが初期化され、データの監視やイベントの設定などの前に実行されます。
  2. created: コンポーネントが初期化され、依存関係の解決、データの監視、イベントの設定などが完了した後に実行されます。
    • このフックでは、データの初期化や非同期のデータの取得などを行うことができます。
  3. beforeMount: コンポーネントがDOMにマウントされる前に実行されます。
    • このフックでは、テンプレートのコンパイルが完了し、レンダリングの準備が整った後に実行されるため、DOMにアクセスすることができます。
  4. mounted: コンポーネントがDOMに正常にマウントされた後に実行されます。
    • このフックでは、DOM要素に対する操作や外部ライブラリの初期化など、コンポーネントのマウント後に必要な処理を行うことができます。
  5. beforeUpdate: データが変更され、DOMが更新される前に実行されます。
    • このフックでは、変更前のデータやDOMの状態にアクセスすることができます。
  6. updated: データが変更され、DOMが更新された後に実行されます。
    • このフックでは、DOMの変更後の状態にアクセスすることができます。
    • ただし、このフック内でのデータの変更は避ける必要があります(無限ループの原因となります)。
  7. beforeDestroy: コンポーネントが破棄される前に実行されます。
    • このフックでは、コンポーネントが破棄される前に必要なクリーンアップやリソースの解放を行うことができます。
  8. destroyed: コンポーネントが完全に破棄された後に実行されます。
    • このフックでは、コンポーネントが破棄された後のクリーンアップや後処理を行うことができます。

これらのライフサイクルフックは、コンポーネントの各段階で特定のタスクを実行するために、活用できます。

ライフサイクルフックの SampleCodeまとめ

<template>
  <!-- document is not defined などの SSR_Error を防止する: no-ssrタグ -->
  <no-ssr>
    <div>
      <h2>Robotama_LifeCycle_Hooks</h2>
    </div>
  </no-ssr>
</template>
<script>
export default {
  components: {},
  data() {
    return {};
  },
  computed: {},
  watch: {},
  methods: {},
  // 1. beforeCreate_Timing
  beforeCreate() {
    console.log("Component_BeforeCreate");
  },
  // 2. created_Timing
  created() {
    console.log("Component_Created");
  },
  // 3. beforeMount_Timing
  beforeMount() {
    console.log("Component_BeforeMounted");
  },
  // 4. mounted_Timing
  mounted() {
    console.log("Component_Mounted");
  },
  // 5. beforeUpdate_Timing
  beforeUpdate() {
    console.log("Component_BeforeUpdated");
  },
  // 6. updated_Timing
  updated() {
    console.log("Component_Updated");
  },
  // 7. beforeDestroy_Timing
  beforeDestroy() {
    console.log("Component_BeforeDestoryed");
  },
  // 8. destroyed_Timing
  destroyed() {
    console.log("Component_Destoryed");
  },
};
</script>
<style></style>

JavaScript書籍 Ver. 中級-上級者向け

JavaScript書籍 Ver. 初級者向け

Twitterやってます!Follow Me!

神聖グンマー帝国の逆襲🔥

神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!

最近の投稿