🔄 8-3. ライフサイクル関連の落とし穴

✅ 要点まとめ


🟥 よくある落とし穴とエラー例

onMountedsetup の外で書いてしまう

// ❌ エラーになる
onMounted(() => {
  console.log('mounted!');
});

解決:必ず setup の中(または <script setup>)で書く!

<script setup lang="ts">
import { onMounted } from 'vue';

onMounted(() => {
  console.log('mounted!');
});
</script>


this を使おうとしてしまう(クラス脳のクセ)

// ❌ this.count は存在しない
onMounted(() => {
  this.count++; // ❌ エラー
});

ref を使う!

const count = ref(0);

onMounted(() => {
  count.value++; // ✅
});


async なライフサイクルで Promise をちゃんと待たない