我从一本书中学习反应,在一个例子中,作者以这种方式渲染了一个组件
return (
<div className="star-rating">
{[...Array(totalStars)].map((n,i)=>
<Star key = {i} selected={i<starSelected} onClick={()=>this.change(i+1)} />
)}
<p>{starsSelected} of {totalStars} stars </p>+
)
初始化数组时,spread元素的用途是什么?
答案 0 :(得分:3)
Array(totalStars)
生成一个数量为totalStars
个空插槽的数组。使用spread运算符将空槽强制转换为undefined
,有效地填充数组以使用SOMETHING进行映射(即使它未定义)。
仅使用Array()
实例化数组并不会在其空间中放置任何内容,只需为它们分配空间。
答案 1 :(得分:-3)
Spread运算符意味着我们希望事物以像 -
这样的数组的形式传播 function ABC (...) {
console. log(...); //this will print as array [1,3,5]
}
ABC(1,3,5);
当我们调用函数时,我们只是作为参数而不是数组传递。但他们用扩散算子转换成阵列形式。