React学习笔记(四)——列表和key——map()方法的使用

创建列表

React可以使用 JavaScript 的 map() 方法来创建列表,语法如下:

array.map(function(currentValue,index,arr), thisValue)
参数	              描述
currentValue	必须。当前元素的值
index	        可选。当前元素的索引值
arr	            可选。当前元素属于的数组对象
要生成的列表内容:numbers
numbers.map((numbers中的每一个元素n) => 
	<li>{n}</li>
);

示例如下:

const numbers= [1, 2, 3, 4, 5];
const list= numbers.map((n) =>
  <li>{n}</li>
);

ReactDOM.render(
  <ul>{listItems}</ul>,
  document.getElementById('example')
);

我们可以将以上实例重构成一个组件,组件接收数组数组参数:

function NumberList(props){
	const arr = props.numbers;
	const list = number.map((n) =>
 		<li>{n}</li>
 	);
 	return (
 		<ul>{list}</ul>
 	);
}

const numbers= [1, 2, 3, 4, 5];\
ReactDOM.render(
  <NumberList numbers={numbers} />
  document.getElementById('example')
);

此时运行起来会出现警告,a key should be provided for list items ,出现这个情况就是我们需要为每一个列表参数分配一个key

function NumberList(props) {
  const numbers = props.numbers;
  const listItems = numbers.map((number, index) =>
    <li key={index}>
      {number}
    </li>
  );
  return (
    <ul>{listItems}</ul>
  );
}

此处我们通过使用map方法第二个参数,即元素的索引值作为key。
当然还有其它两种作为key的方法:

第二种:
  const listItems = numbers.map((number) =>
    <li key={number.toString()}>
      {number}
    </li>
  );
 第三种:也可以通过数据的id来作为key
   const listItems = numbers.map((number) =>
    <li key={number.id}>
      {number}
    </li>
  );
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值