扩散元素在这里起作用的目的是什么

时间:2017-08-31 02:29:36

标签: javascript reactjs ecmascript-6

我从一本书中学习反应,在一个例子中,作者以这种方式渲染了一个组件

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元素的用途是什么?

2 个答案:

答案 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);

当我们调用函数时,我们只是作为参数而不是数组传递。但他们用扩散算子转换成阵列形式。