onRenderTriggered() デバッグ:再レンダリングの原因を追跡する
最終更新:2026-10-22
onRenderTriggered() デバッグ:再レンダリングの原因を追跡する
onRenderTriggered() は、ある依存の変更がコンポーネントの再レンダリングを引き起こしたときに呼ばれ、「何が今回の更新をトリガーしたか」を直接教えてくれます。
| グループ | ライフサイクルフック |
|---|---|
| 種類 | API |
| スコープ | コンポーネント内 |
| Vue バージョン | 3.0+ |
| SSR 対応 | 対応 |
📝 構文
onRenderTriggered((event) => {
console.log('再レンダリングの原因', event.key)
})
⚙️ 引数
| event | デバッグイベント:トリガーしたキー、新旧の値、target |
|---|
戻り値:なし
▶ 例
以下のコードを編集して結果を確認しましょう:
出力:
Logs the key and new value so unexpected updates are traceable.
💡 ポイント
⚠️ 注意 同じく開発環境でのみ有効で、一時的な調査用です。
💡 ヒント onRenderTracked と組み合わせます。まず依存の集合を見て、次にトリガー元を確認します。
🏷️ 関連ライフサイクルフック
💡 関連ケース
関連ケースは近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q パフォーマンス問題を特定できますか?
A 特定できます。過剰なレンダリングはよくある性能問題の原因で、このフックはトリガーしたデータを直接指し示します。
Q コンソールに大量のログが出ますか?
A 更新頻度の高いコンポーネントではログが大量に出ます。対象のコンポーネントにだけ一時的に有効化してください。
Q Vue Devtools の performance パネルとの違いは?
A Devtools はタイムライン表示を提供します。フックはスクリプトによる記録やカスタムレポートに向いています。