如何对单个数字执行类似数组的map操作,动态生成指定数量元素?
实现方法
数字本身没有map方法,所以得先把emptyRow转成对应长度的数组,再用数组的map来生成目标元素,给你两种常用写法:
方法一:用Array.from(推荐)
Array.from可以直接根据指定长度生成数组,还能同时拿到索引,写法很直观:
Array.from({ length: emptyRow }, (_, index) => ( <div key={index}>place items here</div> ))
- 第一个参数
{ length: emptyRow }用来指定数组的长度为emptyRow的数值 - 第二个回调里的
_是占位符(因为我们不需要数组里的元素值),index用来作为React元素的唯一key(列表元素必须带key,否则会触发警告)
方法二:用Array(n).fill()生成可遍历数组
直接用Array(emptyRow)会创建一个稀疏数组(没有实际元素),没法直接调用map,所以先用fill填充任意值把数组变成可遍历的:
Array(emptyRow).fill(null).map((_, index) => ( <div key={index}>place items here</div> ))
注意事项
如果后续这些div会绑定具体业务数据,建议用数据里的唯一ID代替index作为key,避免React渲染时出现异常。
内容的提问来源于stack exchange,提问作者FabricioG
相关产品推荐
相关产品推荐

