Miniprogramm: Verwenden Sie wx:key, um die Rendering-Effizienz von wx:for zu verbessern

若昕
Freigeben: 2019-04-01 14:44:31
nach vorne
3777 Leute haben es durchsucht


Der Inhalt dieses Artikels befasst sich hauptsächlich mit der Verwendung von wx:key in kleinen Programmen, um die Rendering-Effizienz von wx:for zu verbessern


Der Grund, warum das Hinzufügen von wx:key die Rendering-Effizienz von wx:for verbessert, ist (mein vorläufiges Verständnis)

  • Wenn Sie es nicht tun Fügen Sie nicht wx:key hinzu. Wenn sich die Daten im Array ändern, wird das Front-End-Rendering-Objekt
  • mit wx:key neu erstellt. Rendering, das entsprechende Objekt neu anordnen. Objekte, die sich nicht geändert haben, werden nicht neu erstellt

Siehe die offizielle Erklärung

Wenn die Datenänderung ein erneutes Rendern der Rendering-Ebene auslöst, wird die Komponente mit dem Schlüssel angezeigt Wenn sie korrigiert werden, stellt das Framework sicher, dass sie neu angeordnet und nicht neu erstellt werden, um sicherzustellen, dass die Komponenten ihren eigenen Zustand beibehalten und die Effizienz der Listenwiedergabe verbessert wird.

Fragen, die überprüft werden müssen

Werden wx:key nach dem Hinzufügen nach dem angegebenen Schlüssel sortiert?

Schreiben Sie eine einfache Testseite

<block wx:for="{{languages}}" wx:for-item="language" wx:key="id">
  <text class="log-item">{{ language.id }} . {{ language.name }}</text>
</block>

data: {
  languages: [
    {id: Miniprogramm: Verwenden Sie wx:key, um die Rendering-Effizienz von wx:for zu verbessern, name: &#39;php&#39;},
    {id: 4, name: &#39;javascript&#39;},
    {id: 3, name: &#39;golang&#39;},
    {id: 2, name: &#39;python&#39;},
    {id: 5, name: &#39;java&#39;},
  ],
},
Nach dem Login kopieren

Miniprogramm: Verwenden Sie wx:key, um die Rendering-Effizienz von wx:for zu verbessern

Die Testergebnisse haben keinen Einfluss auf die Sortierung.

Ob ein Fehler gemeldet wird, wenn der Schlüssel denselben Namen hat

data: {
  languages: [
    {id: Miniprogramm: Verwenden Sie wx:key, um die Rendering-Effizienz von wx:for zu verbessern, name: &#39;php&#39;},
    {id: 4, name: &#39;javascript&#39;},
    {id: 3, name: &#39;golang&#39;},
    {id: 2, name: &#39;python&#39;},
    {id: 5, name: &#39;java&#39;},
  ],
},

click: function () {
	let language = {id: 5, name: &#39;kotlin&#39;}
	let languages = this.data.languages
	languages.push(language)

	this.setData({
		languages: languages
	})
}
Nach dem Login kopieren

Das WeChat-Applet-Entwicklungstool meldet nur eine Warnung und führt nicht zum Absturz des Programms

VM6265:2 Legen Sie nicht denselben Schlüssel {5} in wx:key fest

Merkwürdig ist, dass diese Warnung nur beim erneuten Rendern gemeldet wird, wenn währenddessen derselbe Schlüssel verwendet wird Bei der Initialisierung wird keine Warnung ausgegeben.

Links zu verwandten Videos:Mini-Tutorial zur Programmentwicklung

Das obige ist der detaillierte Inhalt vonMiniprogramm: Verwenden Sie wx:key, um die Rendering-Effizienz von wx:for zu verbessern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!