onUnmounted() アンマウント後フック

最終更新:2026-10-22

onUnmounted() アンマウント後フック

onUnmounted() は、コンポーネントが破棄され、DOM が取り除かれ、すべてのリアクティブな副作用が停止した後に呼ばれます。

グループライフサイクルフック
種類API
スコープコンポーネント内
Vue バージョン3.0+
SSR 対応対応

📝 構文

onUnmounted(() => {
  // コンポーネントは完全に破棄済み。外部リソースをクリーンアップ
})

⚙️ 引数

callbackアンマウント後に実行される関数

戻り値:なし

▶ 例

以下のコードを編集して結果を確認しましょう:

出力:

Toggling the child off logs 'child unmounted'.

💡 ポイント

ℹ️ 補足 コンポーネント自身のウォッチャーや副作用は Vue が自動で停止します。ここではフレームワークが管理しない外部リソースだけを処理します。
⚠️ 注意 この時点で DOM を読むのは信頼できません(すでに取り除かれている可能性があります)。
💡 ヒント 複数インスタンスの場面ではグローバルリスナーを必ず解除してください。破棄済みインスタンスのコールバックが動き続けます。
関連ケースは近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q watch を手動で停止する必要はまだありますか?
A 必要ありません。コンポーネント内で作ったエフェクトは破棄時に自動で停止します(切り離されたスコープは除く)。
Q onBeforeUnmount とどう使い分けますか?
A 純粋なロジックのクリーンアップは onUnmounted、DOM を読む必要があるクリーンアップは onBeforeUnmount に書きます。
Q SSR でも実行されますか?
A いいえ。アンマウント系のフックはブラウザ側でのみ実行されます。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%