Day 18 - Array List

我们也可以在 React 里利用阵列来产出重复的东西,例如 li 。

function FruitList(props) {
 const arr = props.data;
 const listItems = arr.map((val) =>
   <li>{val}</li>
 );
 return <ul>{listItems}</ul>
}
const arr = ["Apple", "Banana", "Coconut"]
const el13= <FruitList data={arr} />
ReactDOM.render(
  el13,
  document.getElementById('root15')
)

以上我们可以注意到在consloe里都有跳一个警告,说每个元件都需要一个唯一的 Key ,这使 React 可以辨识每个元件,特别是在增减更新的时候。

所以,我们改写如下

function FruitList(props) {
 const arr = props.data;
 const listItems = arr.map((val, index) =>
   <li key={index}>{val}</li>
 );
 return <ul>{listItems}</ul>
}
const arr = ["Apple", "Banana", "Coconut"]
const el13= <FruitList data={arr} />
ReactDOM.render(
  el13,
  document.getElementById('root15')
)

如此一来警告就消失了。

不过有人提到使用 index 来作为 id 并不妥适,我想这也是有可能的,大家可以参考别的写法或使用 UUID 唷。


相关文章:

How to create unique keys for React elements?


预告:课程结束的内容是做一个ToDoList, 而我希望能把它改造成从 ToDoList 中随机选一个值出来,我想这会花费我好几天来规划。(因为原本的发想很大,虽然朋友已经写完了,但我想如果我也能写出来,应该就可以无愧地说,我会写一点点程序了:D )


<<:  Day 20 - 规划各功能模组的介面

>>:  [DAY 20] Model 训练技巧

10.13 应用系统的防护基准 - 其他(除旧布新)

适用人员: 技术人员(开发人员)。 适用法规: 资通安全责任等级分级办法 - 附表十资通系统防护基准...

Day26:HTML(24) form(3)

"select"元素 "select"元素定义了一个下拉列表...

Day-17 Excel手把手作图表(二)

今日练习档 ԅ( ¯་། ¯ԅ) 是的,今天即将延续昨天的部分继续设计Excel图表,如果您还没有看...

Day25. Blue Prism让你远离挑灯夜战的日子 –BP自动登打订单

昨天加班加的凶, 到现在为止都还在挑灯夜战, 不过,在不景气的日子人就要想着变通, 才会有机会的到来...

【Day 20】Python 一行内输入多个数字、多个字串及好用的刷题网站推荐

前言 前面介绍了那麽多语法,应该来实际使用看看了。要提升自己的程序能力有很多办法,刷题也是一种能让程...