onBeforeUpdate() 更新前フック

最終更新:2026-10-22

onBeforeUpdate() 更新前フック

onBeforeUpdate() は、リアクティブなデータが変化した後、DOM が更新される前に呼ばれます。このタイミングでは更新前の DOM の状態を読めます。

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

📝 構文

onBeforeUpdate(() => {
  // DOM はまだ古い状態
})

⚙️ 引数

callback更新前に実行される関数

戻り値:なし

▶ 例

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

出力:

Each click records the stale DOM first, then the view refreshes.

💡 ポイント

ℹ️ 補足 使用頻度は低めです。「更新前に読みたい」という需要の大半は watch + watchPostEffect でカバーできます。
⚠️ 注意 ここでデータを変更すると追加の一連の更新が走り、ループになりやすいので、代入には注意してください。
関連ケースは近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q このフックと DOM 更新、どちらが先ですか?
A フックが先です。その直後に DOM 更新が行われるため、ここで読めるのは古い DOM です。
Q ここで更新を阻止できますか?
A できません。Vue にはキャンセルの仕組みがありません。条件付き描画には v-if を使ってください。
Q watch の flush: 'pre' とは何が違いますか?
A タイミングは同じ(DOM 更新前)ですが、watch は特定のデータを監視して新旧の値を受け取れます。このフックには引数がありません。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%