React學(xué)習(xí)筆記之列表渲染示例詳解
前言
本文主要給大家介紹了關(guān)于React列表渲染的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。
示例詳解:
列表渲染也很簡單,利用map方法返回一個(gè)新的渲染列表即可,例如:
const numbers = [1, 2, 3, 4, 5]; const listItems = numbers.map((number) => <li>{number}</li> ); ReactDOM.render( <ul>{listItems}</ul>, document.getElementById('root') );
基礎(chǔ)列表組件的構(gòu)造中,有一個(gè)重要的屬性值key需要你進(jìn)行指定,這個(gè)很重要,和幫助框架進(jìn)行性能優(yōu)化有關(guān),具體深入原因后續(xù)會(huì)繼續(xù)了解,先來看例子:
function NumberList(props) { const numbers = props.numbers; const listItems = numbers.map((number) => <li key={number.toString()}> {number} </li> ); return ( <ul>{listItems}</ul> ); } const numbers = [1, 2, 3, 4, 5]; ReactDOM.render( <NumberList numbers={numbers} />, document.getElementById('root') );
需要注意的是key的指定需要是其值是唯一的,因?yàn)樗軒椭蚣芨玫淖R(shí)別列的改變,添加和刪除,如果有穩(wěn)定的唯一鍵值就使用唯一鍵值,如果沒有可以使用index來進(jìn)行標(biāo)識(shí),但是不提倡在列表會(huì)進(jìn)行頻繁排序的時(shí)候使用index,因?yàn)檫@樣會(huì)使得性能下降。
例如:
const todoItems = todos.map((todo) => <li key={todo.id}> {todo.text} </li> ); const todoItems = todos.map((todo, index) => // Only do this if items have no stable IDs <li key={index}> {todo.text} </li> );
出來以上用map構(gòu)造好列表外,map的語法還可以內(nèi)嵌到j(luò)sx語法中,只要加上{}即可,寫法多種多樣,可以選一種自己順眼的哦,呵呵噠。
例如以下兩種寫法是一樣滴:
function NumberList(props) { const numbers = props.numbers; const listItems = numbers.map((number) => <ListItem key={number.toString()} value={number} /> ); return ( <ul> {listItems} </ul> ); } function NumberList(props) { const numbers = props.numbers; return ( <ul> {numbers.map((number) => <ListItem key={number.toString()} value={number} /> )} </ul> ); }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
React-Hooks之useImperativeHandler使用介紹
這篇文章主要為大家介紹了React-Hooks之useImperativeHandler使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07React實(shí)現(xiàn)模糊搜索和關(guān)鍵字高亮的示例代碼
這篇文章主要為大家詳細(xì)介紹了React如何實(shí)現(xiàn)模糊搜索和關(guān)鍵字高亮的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-1130行代碼實(shí)現(xiàn)React雙向綁定hook的示例代碼
本文主要介紹了30行代碼實(shí)現(xiàn)React雙向綁定hook的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04react 下拉框內(nèi)容回顯的實(shí)現(xiàn)思路
這篇文章主要介紹了react 下拉框內(nèi)容回顯,實(shí)現(xiàn)思路是通過將下拉框選項(xiàng)的value和label一起存儲(chǔ)到state中, 初始化表單數(shù)據(jù)時(shí)將faqType對(duì)應(yīng)的label查找出來并設(shè)置到Form.Item中,最后修改useEffect,需要的朋友可以參考下2024-05-05