ホームページ >ウェブフロントエンド >Vue.js >Vue for ループにおけるキーの役割について話しましょう

Vue for ループにおけるキーの役割について話しましょう

青灯夜游
青灯夜游転載
2022-10-13 19:50:251495ブラウズ

vue for ループにおける key の役割は何ですか? vue for ループにおけるキーの役割については以下の記事で紹介していますので、ご参考になれば幸いです。

Vue for ループにおけるキーの役割について話しましょう

タイトルの説明:

react フレームワークでも vue フレームワークでも、レンダリング時にそれぞれのプロンプトが表示されたり、必須になったりします。 list リスト項目は一意のキーを使用します。このキーは何をするのでしょうか?値を正しく設定するにはどうすればよいですか?

回答分析:

この質問では、仮想 dom オブジェクトの差分アルゴリズムの理解を実際にテストします。 [関連する推奨事項: vuejs ビデオ チュートリアル ]

diff アルゴリズムの本質は、ノードを可能な限り再利用することを目的として、古い仮想 DOM オブジェクトと新しい仮想 DOM オブジェクトの違いを見つけることです。そしてパフォーマンスの向上。

key の主な機能は、古いノードと新しいノードが diff アルゴリズムで同じタイプであるかどうかを判断して、新しいノードに対応する古いノードを再利用し、パフォーマンスのオーバーヘッドを節約することです。

export function isSameVNodeType(n1: VNode, n2: VNode): boolean {
  return n1.type === n2.type && n1.key === n2.key
}

否定的な例を示します 配列のインデックスをリストのキーとして使用することが多いことを理解してください。具体的なプロセスを見てみましょう。

Vue for ループにおけるキーの役割について話しましょう

If 要素順番に追加すれば順序が崩れることはないので普通に使えます;

リストの削除や要素の入れ替えがあった場合、キー(インデックス)が同じなので順序が崩れてしまいます新しいノードの順序と古いノードの順序は依然として前から後ろまで 1 対 1 に対応していますが、ノードの内容を判断すると、実際には要素の内容が変更されており、内容の更新が必要となり、パフォーマンスのオーバーヘッドが発生します。 。 Chrome デバッグ ツールでノード コンテンツの変更を観察できますので、興味のある方は試してみてください。

(学習ビデオ共有: Web フロントエンド開発基本プログラミング ビデオ)

以上がVue for ループにおけるキーの役割について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。