React中遍歷數(shù)組生成標(biāo)簽問題
React遍歷數(shù)組生成標(biāo)簽
舉一個例子
一個列表根據(jù)數(shù)組渲染li元素,在vue中一個v-for就解決了,那在React中怎么實現(xiàn)呢?
這里我們直接引入的React文件,沒用腳手架
let arr = [1,2,3];
? ? ? ? ReactDOM.render(<ul>
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? arr.map(value => <li key={value}>{value}</li>)
? ? ? ? ? ? ? ? }
? ? ? ? ? ? </ul>,document.querySelector('#root'))但這里為什么用map方法呢,因為map會返回一個新數(shù)組,在這個地方就等價于返回了這個數(shù)組
let arr = [<li>1</li>, <li>2</li>, <li>3</li>]
渲染的也就是這個數(shù)組。
React功能實現(xiàn)-數(shù)組遍歷渲染
在react中如何將一個數(shù)組遍歷,并且逐個渲染在頁面上?
1.在jsx渲染中
如果這個變量是一個數(shù)組,則會展開這個數(shù)組的所有成員.
var arr = [
? ? ? <h1>Hello world!</h1>,
? ? ? <h2>React is awesome</h2>,
? ? ];
? ? ReactDOM.render(
? ? ? <div>{arr}</div>,
? ? ? document.getElementById('example')
? ? );example元素中將產(chǎn)生兩個div,一個里面有h1標(biāo)簽和一個里面有h2標(biāo)簽.
2.array.map().
<ul>
? ? ? ? {?
? ? ? ? ? ? arr.map(function(val){?
? ? ? ? ? ? ? ? return <li>{val}</li>
? ? ? ? ? ? })</ul>array.map()的參數(shù)為一個函數(shù),這個函數(shù)是每個array中的元素應(yīng)該執(zhí)行的函數(shù),參數(shù)為val.
其實這個方法也是依賴于第1個特性的,因為array.map()是有返回值的,返回值是一個新數(shù)組.所以最終相當(dāng)于<ul>{newArray}</ul>
3.為什么不能用forEach()?
因為forEach()沒有返回值
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Native?Memory?Tracking追蹤區(qū)域示例分析
這篇文章主要為大家介紹了Native?Memory?Tracking追蹤區(qū)域示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
React中的setState使用細節(jié)和原理解析(最新推薦)
這篇文章主要介紹了React中的setState使用細節(jié)和原理解析(最新推薦),前面我們有使用過setState的基本使用, 接下來我們對setState使用進行詳細的介紹,需要的朋友可以參考下2022-12-12
React?Fiber構(gòu)建completeWork源碼解析
這篇文章主要為大家介紹了React?Fiber構(gòu)建completeWork源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02

