onDeactivated() KeepAlive で非アクティブ化されたときに呼ばれる
最終更新:2026-10-22
onDeactivated() KeepAlive で非アクティブ化されたときに呼ばれる
onDeactivated() は、
| グループ | ライフサイクルフック |
|---|---|
| 種類 | API |
| スコープ | コンポーネント内 |
| Vue バージョン | 3.0+ |
| SSR 対応 | 対応 |
📝 構文
onDeactivated(() => {
clearInterval(timer)
})
⚙️ 引数
| callback | 非アクティブ化されたときに実行される関数 |
|---|
戻り値:なし
▶ 例
以下のコードを編集して結果を確認しましょう:
出力:
Hiding pauses the clock; showing resumes where it stopped.
💡 ポイント
💡 ヒント onActivated とペアで使います。再開と一時停止の対で、キャッシュされたコンポーネントのライフサイクルが完結します。
⚠️ 注意 非アクティブ化は破棄ではありません。コンポーネントのインスタンスと状態は残っているので、不可逆なクリーンアップは行わないでください。
🏷️ 関連ライフサイクルフック
💡 関連ケース
関連ケースは近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q 非アクティブ化後も状態は保持されますか?
A 保持されます。それこそが KeepAlive の目的で、再アクティブ化時には続きから使えます。
Q onUnmounted との違いは?
A onDeactivated は隠れるだけです。onUnmounted は本当に破棄されるとき(キャッシュが取り除かれたとき)にのみ呼ばれます。
Q 何を一時停止するのに向いていますか?
A タイマー、ポーリング、アニメーション、リアルタイム購読など「隠れている間に動かなくてよい」タスクです。