Angular v22: ChangeDetectionStrategy.Eager の導入とOnPush By Default
DRANK

Angular v21.2では、コンポーネントの変更検知戦略の選択肢として ChangeDetectionStrategy.Eager が新たに追加された。とはいえ、これは今までの ChangeDetectionStrategy.Default とまったく同じ挙動であり、エイリアスが追加されただけだ。 (= Default)と OnPushが選択できるが、v22ではついにOnPushがデフォルトとなる。既存プロジェクトの移行パスについても計画が見えているので解説しておく。Default-to-Eager Migration v22へのng updateマイグレーションによって、変更検知戦略が無指定、あるいはDefaultを指定しているコンポーネントでは、自動的にEagerに書き換えられる。これにより、既存プロジェクトでは従来通りの変更検知でアプリケーションが動作するため、破壊的な変更は起こらない。OnPush By Default newやng generateで生成されるコンポーネントの変更検知戦略がデフォルトでOnPushとなる。もちろん設定ファイルで明示的にコンポーネントの生成オプションを changeDetection: Eager としていればそちらが適用されるが、そうでない場合は新規コードが何もしなくてもOnPushモードで動作することになる。Eager-to-OnPush Migration?今のところ、Eagerモー…

zenn.dev
Related Topics: