Lala Code

Lala 的前端大補帖,歡迎一起鑽研前端技術😊

0%

React列表渲染-將陣列、物件渲染成元素

React
在 Vue 框架渲染列表時會有自己的語法 v-for,不過 React 沒有自定義的語法,而是直接使用 JS 的語法

陣列渲染成元素

使用 JS 的 map 把每個 item 渲染出來,組件 Item 需要被代入 key 屬性,

key 必須是唯一值,如陣列改變,才不會再被重新渲染,影響效能

key 如果為 index 也會被重新渲染,只是不會跳出警告,除非沒有唯一值才用 index,或是請後端加上唯一值

List.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { Component } from "react";
import Item from "./Item";
class List extends Component {
render(){
const steps = [
{ text: 'hello'},
{ text: 'world'},
{ text: 'hello world'}
]
return(
<ul>
{steps.map((item, idx) =>
(<Item key={item.text}>{ item.text }({ idx })</Item>)
)}
</ul>
)
}
}
export default List;

Item.js

1
2
3
4
5
6
7
8
9
10
11
import { Component } from "react";

class Item extends Component {
render(){
return (
<li>{this.props.children}</li>
)
}
}

export default Item;



物件渲染成元素

物件使用 Object.keys 先把物件屬性變成陣列,再使用 map 渲染

物件渲染出來的結果順序不一定相同,如果要照資料排序須將資料改為陣列

List.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { Component } from "react";
import Item from "./Item";
class List extends Component {
render(){
const dog = {
name: 'bobee',
age: 12,
height: 64
}
return(
<ul>
{ Object.keys(dog).map((key) => {
const value = dog[key];
return (
<Item key={value}>{key}: {value}</Item>
)
}) }
</ul>
)
}
}
export default List;


🚀實體工作坊分享

玩轉 Web頁面的前端技術(HTML/CSS/JS) 一日體驗課

最近時賦學苑開了實體體驗課,即使你對程式碼沒有概念也能上手!Lala 會帶你一起做出一個個人品牌形象網站,帶你快速了解前端的開發流程,快跟我們一起玩轉 Web 吧!



🚀線上課程分享

線上課程可以加速學習的時間,省去了不少看文件的時間XD,以下是我推薦的一些課程
想學習更多關於前後端的線上課程,可以參考看看。

Hahow

Hahow 有各式各樣類型的課程,而且是無限次數觀看,對學生或上班族而言,不用擔心被時間綁住



六角學院

如果你是初學者,非常推薦六角學院哦!
剛開始轉職也是上了六角的課,非常的淺顯易懂,最重要的是,隨時還有線上的助教幫你解決問題!


Udemy

Udemy 裡的課程非常的多,品質普遍不錯,且價格都滿實惠的,CP值很高!
也是很多工程師推薦的線上課程網站。
❤️