【问题标题】:Array.fill function is not working in react [closed]Array.fill 函数在反应中不起作用 [关闭]
【发布时间】:2021-10-22 14:59:17
【问题描述】:

我正在使用 Array.fill() 打印星,但代码只显示 1 星...]

import React from 'react'

function Rating(props) {
    const {rating, numReviews} = props;
    return (
        <div className="product_rating">
           {Array(rating)
            .fill()
            .map((_, _i) => (
              <p>????</p>
            ))
           }
        </div>
    )
}

export default Rating;

【问题讨论】:

  • 复制/粘贴代码而不是上传截图
  • 数组为空
  • 最好复制/粘贴实际代码,而不是图像,然后使用(我认为)control k 缩进
  • 什么是rating
  • 你确定吗?虽然我可能不会这样做,但我没有立即看到为什么它不会返回五个段落的数组。

标签: javascript arrays reactjs


【解决方案1】:

UPD:如果评级是一个字符串,使用 parseInt

    {Array(parseInt(rating))
      .fill()
      .map((_, _i) => (
        <p>?</p>
      ))}

【讨论】:

  • Array.from 不期望一个类似数组或可迭代的源吗?如果rating 是数字,则不会做同样的事情。
  • 不知道rating是什么,这只是胡乱猜测......
  • rating 是一个数值,显示 5 ...我打印这个

    {rating}

    ...给我 5 ...但是在 Array.fill() 这个不工作
  • @NavreetKaur 那么它很可能不是你想象的那样。你确定不是字符串?它是如何失败的?什么浏览器(例如,IIRC IE 需要 polyfill)?
  • @NavreetKaur 我假设评级是字符串“5”。更新了一个答案
猜你喜欢
  • 2021-03-08
  • 1970-01-01
  • 1970-01-01
  • 2022-12-19
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
  • 2011-08-15
  • 1970-01-01
相关资源
最近更新 更多