日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

小紅書面試:v-for循環,為什么不建議使用index作為key?

來源: 責編: 時間:2024-04-24 17:31:44 238觀看
導讀Hello,大家好,我是 Sunday。最近有個同學在小紅書三面的時候遇到了一個面試題:“v-for循環,為什么不建議使用index作為key?”按說這個問題并不復雜,所以該同學直接回答:“使用 index 作為 key 可能會導致渲染性能問題,特別是

Hello,大家好,我是 Sunday。JLW28資訊網——每日最新資訊28at.com

最近有個同學在小紅書三面的時候遇到了一個面試題:“v-for循環,為什么不建議使用index作為key?”JLW28資訊網——每日最新資訊28at.com

按說這個問題并不復雜,所以該同學直接回答:“使用 index 作為 key 可能會導致渲染性能問題,特別是數據源使用了 unshift 將數據添加到頭部時,會導致 index 被重新規劃,從而導致重新渲染。”JLW28資訊網——每日最新資訊28at.com

然后面試官繼續追問:“為什么 index 變化了就會導致 dom 重新渲染?它的渲染機制是什么?”JLW28資訊網——每日最新資訊28at.com

額... 吃了沒有看過源碼的虧,導致這個問題并沒有回答出來(但愿該同學這次小紅書面試可以順利通過,畢竟都到技術三面了)。JLW28資訊網——每日最新資訊28at.com

所以,咱們今天就針對這個面試題來說一下。JLW28資訊網——每日最新資訊28at.com

v-for 循環的渲染時機

在 Vue 的渲染中,有兩個比較重要的渲染時機:渲染、更新。JLW28資訊網——每日最新資訊28at.com

  • 渲染:指的是 DOM 的首次渲染。首次的渲染性能的消耗是固定的。
  • 更新:指的是 數據變化后影響到的視圖變化,所謂的性能問題,主要就集中在這里。

我們以這段代碼為例,以下代碼表示的就是一段 更新 的邏輯:JLW28資訊網——每日最新資訊28at.com

<template> <div>  <ul>   <li v-for="(item, index) in list" :key="index">{{ item }}</li>  </ul>  <button @click="change">change</button> </div></template><script setup>const list = ref([1, 2, 3])const change = () => { list.value = [3, 2, 1]}</script>

如果我們把 [1, 2, 3] 作為一組 dom,把 [3, 2, 1] 作為另外一組 dom,那么 dom 由 [1, 2, 3] 變成 [3, 2, 1] 的過程就是 DOM 更新。JLW28資訊網——每日最新資訊28at.com

key 在渲染中的作用

同時,我們需要注意:針對于 v-for 的 dom 更新,一定是:兩組 dom 對比發生的變化。JLW28資訊網——每日最新資訊28at.com

而在 vue 中,一旦兩組 dom 對比更新,那么就會觸發 diff 算法 的邏輯,而在 diff 中有這樣一段 vue 的源代碼 isSameVNodeType:JLW28資訊網——每日最新資訊28at.com

圖片圖片JLW28資訊網——每日最新資訊28at.com

這段代碼是用來判斷 兩個 DOM 是否相等的。JLW28資訊網——每日最新資訊28at.com

它的判斷條件有兩個:JLW28資訊網——每日最新資訊28at.com

  1. type:表示當前 dom 的類型,比如:li、div、p 等不同標簽名
  2. key:v-for 循環中綁定的 key 值

那么由此我們就可以知道:在 vue 中,通過 type + key 兩個屬性來判斷 dom 是否相等。JLW28資訊網——每日最新資訊28at.com

如果條件滿足(isSameVNodeType 返回 true),那么就不會重新渲染 dom,從而可以 提升性能JLW28資訊網——每日最新資訊28at.com

index 為什么會影響性能?

根據上面的內容,我們可以知道:在 type 不變的前提下,key 就決定了 dom 是否要重新渲染。JLW28資訊網——每日最新資訊28at.com

假如,我們使用 index 作為 key,同時使用 unshift 方法為數組添加了一個新的元素,那么所有的 index 都會發生變化,從而導致:isSameVNodeType 返回 false,即:所有的 dom 全部重新渲染 從而影響性能JLW28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-85223-0.html小紅書面試:v-for循環,為什么不建議使用index作為key?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 十個每個程序員都應該知道的JavaScript技巧

下一篇: 大白話講解Rust中令人頭痛的“所有權”

標簽:
  • 熱門焦點
  • 6月iOS設備好評榜:第一蟬聯榜首近一年

    作為安兔兔各種榜單里變化最小的那個,2023年6月的iOS好評榜和上個月相比沒有任何排名上的變化,僅僅是部分設備好評率的下降,長年累月的用戶評價和逐漸退出市場的老款機器讓這
  • 5月安卓手機好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • 一篇聊聊Go錯誤封裝機制

    %w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使
  • JavaScript學習 -AES加密算法

    引言在當今數字化時代,前端應用程序扮演著重要角色,用戶的敏感數據經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數據
  • 零售大模型“干中學”,攀爬數字化珠峰

    文/侯煜編輯/cc來源/華爾街科技眼對于絕大多數登山愛好者而言,攀爬珠穆朗瑪峰可謂終極目標。攀登珠峰的商業路線有兩條,一是尼泊爾境內的南坡路線,一是中國境內的北坡路線。相
  • 騰訊VS網易,最卷游戲暑期檔,誰能笑到最后?

    作者:無銹缽來源:財經無忌7月16日晚,上海1862時尚藝術中心。伴隨著幻象的精準命中,碩大的熒幕之上,比分被定格在了14:12,被寄予厚望的EDG戰隊以絕對的優勢戰勝了BLG戰隊,拿下了總決
  • 三星Galaxy Z Fold5官方渲染圖曝光:13.4mm折疊厚度依舊感人

    據官方此前宣布,三星將于7月26日在韓國首爾舉辦Unpacked活動,屆時將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
  • 機構稱Q2全球智能手機出貨量同比下滑11% 蘋果份額依舊第2

    7月20日消息,據外媒報道,研究機構的報告顯示,由于需求下滑,今年二季度全球智能手機的出貨量,同比下滑了11%,三星、蘋果等主要廠商的銷量,較去年同期均有下
  • 電博會上海爾智家模擬500平大平層,還原生活空間沉浸式體驗

    電博會為了更好地讓參展觀眾真正感受到智能家居的絕妙之處,海爾智家的程傳嶺先生同樣介紹了展會上海爾智家的模擬500平大平層,還原生活空間沉浸式體驗。程傳
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国内揄拍国内精品少妇国语| 欧美网站在线观看| 亚洲男人天堂2024| 性做久久久久久久免费看| 久久精品一区中文字幕| 农村妇女精品| 欧美日韩综合不卡| 国产专区精品视频| 91久久精品国产91久久性色| 亚洲视频 欧洲视频| 久久国产精品黑丝| 免费成人美女女| 欧美日韩三级视频| 国产一级揄自揄精品视频| 亚洲黄色在线看| 亚洲一区二区三区免费在线观看| 久久精品视频免费播放| 欧美人与禽猛交乱配视频| 国产日本欧洲亚洲| 亚洲美女视频在线观看| 欧美一区二区三区精品电影| 欧美国产欧美综合| 国产欧美一区二区三区久久| 亚洲第一精品夜夜躁人人爽| 一区二区激情视频| 久久这里有精品15一区二区三区| 欧美视频在线免费| 精品不卡一区| 国产精品99久久久久久久久久久久| 久久精品国产亚洲一区二区三区 | 性色一区二区三区| 久久综合中文| 国产伦精品一区二区三区视频黑人 | 亚洲欧洲一区二区三区| 香蕉久久a毛片| 欧美日本在线看| 极品尤物久久久av免费看| 亚洲综合视频1区| 欧美经典一区二区三区| 国产小视频国产精品| 正在播放日韩| 欧美激情视频网站| 在线精品在线| 午夜精品久久久久久99热| 欧美另类久久久品| 在线看视频不卡| 欧美中文字幕在线观看| 欧美日韩中文字幕在线| 亚洲欧洲精品一区二区三区| 久久精品男女| 国产精品久久婷婷六月丁香| 99pao成人国产永久免费视频| 久久在线免费视频| 国产亚洲综合精品| 午夜精品福利一区二区蜜股av| 欧美日本中文字幕| 亚洲福利专区| 久久久久久亚洲精品杨幂换脸| 国产精品每日更新| 日韩一级免费| 欧美福利小视频| 樱桃成人精品视频在线播放| 欧美亚洲日本国产| 国产精品毛片高清在线完整版| 99精品视频免费全部在线| 欧美福利小视频| 亚洲高清视频在线| 免费久久久一本精品久久区| 在线观看精品视频| 快she精品国产999| 在线精品高清中文字幕| 久久亚洲综合| 在线观看亚洲a| 久久夜色精品国产亚洲aⅴ| 激情婷婷亚洲| 久久综合影音| 亚洲国产日韩综合一区| 欧美jizzhd精品欧美巨大免费| 一区免费在线| 久久这里只精品最新地址| 一区二区在线观看av| 久久嫩草精品久久久久| 国产欧美日韩视频| 久久国产精品免费一区| 国内精品美女av在线播放| 久久久久久久久久久久久久一区| 黄色日韩精品| 美女视频黄免费的久久| 亚洲国产欧美在线| 欧美精品成人在线| 在线一区二区日韩| 国产精品乱码一区二区三区| 亚洲一区免费视频| 国产精品五月天| 欧美在线观看天堂一区二区三区| 国产一区清纯| 另类图片综合电影| 亚洲欧洲一区二区在线播放| 欧美日韩日本视频| 亚洲综合不卡| 韩国欧美国产1区| 欧美ab在线视频| 99v久久综合狠狠综合久久| 欧美日韩中文字幕日韩欧美| 亚洲欧美三级伦理| 一区二区亚洲精品| 欧美大片免费观看| 一区二区毛片| 国产精品一区二区男女羞羞无遮挡| 欧美在线www| 亚洲国产欧美另类丝袜| 欧美午夜精品电影| 欧美在线国产| 亚洲日本一区二区| 国产精品人人做人人爽人人添| 久久精品国产一区二区电影| 亚洲欧洲一区二区在线观看| 国产精品99免费看 | 久久国产精品久久w女人spa| 亚洲国产99| 欧美日韩在线一二三| 篠田优中文在线播放第一区| 在线日韩电影| 欧美午夜不卡| 久久久国际精品| 亚洲人久久久| 国产精品一区免费视频| 久久久之久亚州精品露出| 亚洲精品1区| 国产精品视频一二| 久久嫩草精品久久久精品| 99精品欧美一区二区蜜桃免费| 国产日本欧美一区二区三区在线 | 亚洲一区在线观看视频| 精品成人在线| 欧美日一区二区在线观看| 久久久久国内| 亚洲视频免费在线观看| 一色屋精品亚洲香蕉网站| 欧美日韩在线精品一区二区三区| 久久国产免费| 一区二区三区精品在线| 激情国产一区二区| 欧美三级电影网| 麻豆成人精品| 亚洲资源av| 亚洲九九爱视频| 国产综合精品一区| 欧美视频在线看| 免费成人网www| 欧美一级艳片视频免费观看| 亚洲精品中文字幕有码专区| 国产一区av在线| 国产精品va在线播放我和闺蜜| 久久亚洲一区二区三区四区| 亚洲综合久久久久| 亚洲精品乱码久久久久久| 国产欧美一区二区精品婷婷| 欧美日韩免费观看一区二区三区 | 国产亚洲成人一区| 欧美午夜在线观看| 欧美激情精品久久久久久蜜臀| 欧美一站二站| 亚洲一区国产精品| 亚洲精品视频在线看| 黄色一区二区在线观看| 国产精品尤物| 欧美性大战久久久久久久蜜臀 | 欧美精品自拍| 久久裸体艺术| 欧美一级夜夜爽| 一区二区日韩欧美| 亚洲黄色一区| 在线欧美视频| 国产人久久人人人人爽| 欧美视频一区二区三区| 欧美激情综合网| 欧美+亚洲+精品+三区| 久久久之久亚州精品露出| 欧美亚洲色图校园春色| 亚洲在线免费视频| 一本不卡影院| 一区二区国产精品| 99国产成+人+综合+亚洲欧美| 亚洲国产日韩一区| 在线欧美视频| 亚洲成人在线| 尤物yw午夜国产精品视频| 国内伊人久久久久久网站视频| 国产嫩草影院久久久久| 国产精品―色哟哟| 国产精品亚洲片夜色在线| 国产精品免费看片| 国产精品黄视频| 国产精品久久久久影院亚瑟| 国产精品国产亚洲精品看不卡15| 欧美视频第二页| 欧美午夜久久久| 国产精品第2页| 国产精品稀缺呦系列在线| 国产精品一区三区| 国产日韩精品视频一区| 国产午夜精品全部视频播放| 国产主播一区|