循環渲染數組數據,推薦使用map函數,當然,也可以使用forEach函數,兩者有差別,但差別不大,全看個人喜好了
1.forEach
~~~
import React,{ Component } from 'react'
class TestArray extends Component{
render(){
const arr = [1,2,3,4,5];
var newArr = [];
arr.forEach((ele,index)=> {
var temp = <li key={index}>{ele}</li>
newArr.push(temp)
})
return <ul>
{newArr}
</ul>
}
}
export default TestArray
~~~
2.1map
>[success] 咋一看跟forEach用法一樣,然而 F12打開調試發現有條警告,是的,map函數遍歷項時可以有返回值的,(像:arr.map(ele=> { return ele }))不添加也沒關系,但添上更好
~~~
import React,{ Component } from 'react'
class TestArray extends Component{
render(){
const arr = [1,2,3,4,5];
var newArr = [];
arr.map((ele,index)=> {
var temp = <li key={index}>{ele}</li>
newArr.push(temp)
})
return <ul>
{newArr}
</ul>
}
}
export default TestArray
~~~
2.2map
>[success] map與forEach不一樣,var temp1 = arr.forEach(ele=> {}),var temp2 = arr.map(ele=> { return ele }) ,在控制臺輸出時會發現前者為undifined,后者為arr數組復制,所以在React中,可以直接寫成類似下例的樣子
~~~
import React,{ Component } from 'react'
class TestArray extends Component{
render(){
const arr = [1,2,3,4,5];
return <ul>
{arr.map((ele,index)=>{
return <li key={index}>{ele}</li>
})}
</ul>
}
}
export default TestArray
~~~