react 列表&keys
目前我們學習到的react知識並沒有告訴我們如果如何自動生成重複的元素,但是聰明的你肯定能夠想到,既然是jsx,那我們肯定可以使用js的迴圈語句來實現。那麼確實是這樣子的。看看我們如何根據一個陣列渲染出一組列表
function ItemList(props) {
return (
<ul>
{props.numbers.map(number=>(
<li>{number}</li>
))}
</ul>
)
}
只要我們給ItemList
元件傳入一個numbers陣列屬性,就可以得到一個列表。
但是這樣我們會發現控制檯給我們了一個警告。
就是我們如果用map這類的迴圈來生成元素的話,我們最好給每個元素加上key
屬性,這個key
屬性到底有什麼用呢?我們看看官方給出的解釋:
Keys可以在DOM中的某些元素被增加或刪除的時候幫助React識別哪些元素髮生了變化。因此你應當給陣列中的每一個元素賦予一個確定的標識。
總的來說,key
屬性可以加快react
渲染元件的速度,關於key的深層原因可以看這篇文章 遞迴子節點
從直觀上來說,key
應該是唯一的,react
中不需要key
是全域性唯一的,只需要在相鄰的兄弟元素中是唯一的就可以了,因為react
只會用來和兄弟元素比較.
相關文章
- React學習筆記-列表 & KeysReact筆記
- React-列表元件(通知列表、私信列表、虛擬列表)React元件
- react長列表優化方案: react-virtualizedReact優化Zed
- C - Keys
- react-native分組列表SectionListReact
- react基礎之-- 列表迴圈React
- Object.keys()Object
- React 小案例 訂單列表評價React
- React Native——使用SectionList改造電影列表React Native
- React如何渲染大資料量的列表?React大資料
- React使用ProComponent建立表單和列表React
- JavaScript 陣列 keys()JavaScript陣列
- EF Core Keys(連結)
- 批量刪除 redis keysRedis
- Object.keys() 與 for in 區別Object
- for in,Object.keys,for of 的區別Object
- Laravel redis 正則匹配keysLaravelRedis
- Keys for graphs閱讀筆記筆記
- React Native列表檢視FlatList使用優化實踐指南React Native優化
- 增強 React 列表渲染:乾淨且可重用的模式React模式
- Object.keys()的簡單理解Object
- Redis 中使用 scan 替換 keysRedis
- Redis 中 Keys 與 Scan 的使用Redis
- 在React專案中,如何優雅的優化長列表React優化
- Redis的KEYS命令引起當機事件Redis事件
- 5分鐘徹底理解Object.keysObject
- Python Selenium keys快捷鍵和鍵盤操作Python
- 工作筆記之一 array_fill_keys ()筆記
- 實習任務之使用react實現登入獲取動態列表React
- 詳解 Redis 中 big keys 發現和解決Redis
- react 也就這麼回事 02 —— JSX 插值表示式、條件渲染以及列表渲染ReactJS
- No way to dispatch this command to Redis Cluster because keys have different slots.Redis
- php內建函式分析之array_fill_keys()PHP函式
- GitHub倉庫配置SSH keys步驟流程圖解Github流程圖圖解
- SAP UI5 Web Component裡最簡單的React列表控制元件的用法UIWebReact控制元件
- ES7 Object.keys,Object.values,Object.entriesObject
- Redis中KEYS和SCAN命令的區別和建議Redis
- Q:[Vue warn]: Duplicate keys detected: ‘PAYACT‘. This may cause an update error.VueError