欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

React、Vue中key的作用詳解 (key的內(nèi)部原理解析)

 更新時間:2023年10月31日 09:07:44   作者:夕苜19  
key是虛擬DOM對象的標(biāo)識,當(dāng)狀態(tài)中的數(shù)據(jù)發(fā)生變化時,Vue會根據(jù)[新數(shù)據(jù)]生成[新的虛擬DOM],本文給大家介紹React、Vue中key的作用詳解 (key的內(nèi)部原理解析),感興趣的朋友一起看看吧

1. 虛擬DOM中key的作用:

   key是虛擬DOM對象的標(biāo)識,當(dāng)狀態(tài)中的數(shù)據(jù)發(fā)生變化時,Vue會根據(jù)[新數(shù)據(jù)]生成[新的虛擬DOM]

   隨后Vue進行[新虛擬DOM]與[舊虛擬DOM]的差異比較,比較規(guī)則如下:

2. 對比規(guī)則:

  (1).舊虛擬DOM中找到了與新虛擬DOM相同的key:

    ①.若虛擬DOM中內(nèi)容沒變,直接使用之前的真實DOM!

    ②.若虛擬DOM中內(nèi)容變了,則生成新的真實DOM,隨后替換掉頁面中之前的真實DOM。

  (2).舊虛擬DOM中未找到與新虛擬DOM相同的key創(chuàng)建新的真實DOM,隨后渲染到到頁面。

3. 用index作為key可能會引發(fā)的問題:

  (1).若對數(shù)據(jù)進行: 逆序添加、逆序刪除等破壞順序操作:

         會產(chǎn)生沒有必要的真實DOM更新 ==> 界面效果沒問題,但效率低

  (2).如果結(jié)構(gòu)中還包含輸入類的DOM:

         會產(chǎn)生錯誤DOM更新 ==> 界面有問題

4. 開發(fā)中如何選擇key?

  (1).最好使用每條數(shù)據(jù)的唯一標(biāo)識作為key,比如id、手機號、身份證號、學(xué)號等唯一值。

  (2).如果不存在對數(shù)據(jù)的逆序添加、逆序刪除等破壞順序操作,僅用于渲染列表用于展示,

      使用index作為key是沒有問題的。

<body>
    <div id="root">
        <h2>人員列表</h2>
        <button @click="add_liu">點擊添加一個老劉</button>
        <ul>
            <!-- <li v-for='p in persons' :key="p.id"> -->
            <li v-for='p in persons' :key="index">
                {{p.name}} - {{p.age}}  <input type="text">
            </li>
        </ul>
    </div>
</body>
<script>
    let vm = new Vue({
        el: "#root",
        data:{
            persons: [
                {
                    id: '001',
                    name: "張三",
                    age: 18,
                },
                {
                    id: '002',
                    name: "李四",
                    age: 19,
                },
                {
                    id: '003',
                    name: "王五",
                    age: 20,
                }
            ],
        },
        methods: {
            add_liu: function(){
                const liu = 
                {
                    id: '004',
                    name: "老劉",
                    age: 30,
                }
                this.persons.unshift(liu)
            }
        },
    })
</script>

到此這篇關(guān)于React、Vue中key的作用詳解 (key的內(nèi)部原理解析)的文章就介紹到這了,更多相關(guān)react vue key作用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文帶你了解React中的函數(shù)組件

    一文帶你了解React中的函數(shù)組件

    函數(shù)式組件的基本意義就是,組件實際上是一個函數(shù),不是類,下面這篇文章主要給大家介紹了關(guān)于React中函數(shù)組件的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • 使用react+redux實現(xiàn)計數(shù)器功能及遇到問題

    使用react+redux實現(xiàn)計數(shù)器功能及遇到問題

    使用redux管理數(shù)據(jù),由于Store獨立于組件,使得數(shù)據(jù)管理獨立于組件,解決了組件之間傳遞數(shù)據(jù)困難的問題,非常好用,今天重點給大家介紹使用react+redux實現(xiàn)計數(shù)器功能及遇到問題,感興趣的朋友參考下吧
    2021-06-06
  • React-Native中一些常用組件的用法詳解(一)

    React-Native中一些常用組件的用法詳解(一)

    這篇文章主要跟大家分享了關(guān)于React-Native中一些常用組件的用法,其中包括View組件、Text組件、Touchable類組件、TextInput組件以及Image組件的使用方法,分別給出了詳細的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。
    2017-06-06
  • 深入淺析react native es6語法

    深入淺析react native es6語法

    這篇文章主要介紹了深入淺析react native es6語法的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • 關(guān)于react-router-dom路由入門教程

    關(guān)于react-router-dom路由入門教程

    這篇文章主要介紹了關(guān)于react-router-dom路由入門教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • react 組件實現(xiàn)無縫輪播示例詳解

    react 組件實現(xiàn)無縫輪播示例詳解

    這篇文章主要為大家介紹了react 組件實現(xiàn)無縫輪播示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 使用ES6語法重構(gòu)React代碼詳解

    使用ES6語法重構(gòu)React代碼詳解

    本篇文章主要介紹了使用ES6語法重構(gòu)React代碼詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • react項目初始化時解析url路徑中的動態(tài)片段實現(xiàn)方案

    react項目初始化時解析url路徑中的動態(tài)片段實現(xiàn)方案

    本文將深入探討React項目初始化階段如何高效解析URL路徑中的動態(tài)片段,實現(xiàn)優(yōu)雅的路由參數(shù)處理,幫助開發(fā)者構(gòu)建更靈活的應(yīng)用程序,感興趣的朋友一起看看吧
    2025-07-07
  • 詳解React 在服務(wù)端渲染的實現(xiàn)

    詳解React 在服務(wù)端渲染的實現(xiàn)

    這篇文章主要介紹了詳解React 在服務(wù)端渲染的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • React中使用TS完成父組件調(diào)用子組件的操作方法

    React中使用TS完成父組件調(diào)用子組件的操作方法

    由于在項目開發(fā)過程中,我們往往時需要調(diào)用子組件中的方法,這篇文章主要介紹了React中使用TS完成父組件調(diào)用子組件,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07

最新評論