【问题标题】:What is wrong looping with Object.entries? [duplicate]使用 Object.entries 循环有什么问题? [复制]
【发布时间】:2021-11-20 17:43:12
【问题描述】:
{buyTicketData?.pricingOptions && (
  <select className={"select_1"}>
    {Object.entries(buyTicketData?.pricingOptions).forEach(
      ([key, value]) => {
        <option key={key}>{value.name}</option>;
      }
    )}
  </select>
)}

我在这里找到了如何在 React return 中循环,因此,不仅keyObject.keys() 一样可用,value 也可用。我可以在调试期间看到,该调用在option 部分跳转,但在呈现的HTML 中没有出现任何选项,只有一个空的select。为什么?

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries

【问题讨论】:

标签: javascript html loops


【解决方案1】:

ForEach 没有返回值。您必须使用地图

也许这可以帮助你(去掉大括号)

{buyTicketData?.pricingOptions && (
 <select className={"select_1"}>
   {Object.entries(buyTicketData?.pricingOptions).map(
    ([key, value]) => (<option key={key}>{value.name}</option>)
 )}
)}

【讨论】:

    【解决方案2】:

    Array.prototype.forEach 不返回值。

    Array.prototype.mapdoes.

    在 REPL 中尝试 [1, 2, 3].forEach(x =&gt; x + 1)。然后尝试[1, 2, 3].map(x =&gt; x + 1)。在这种情况下,您可能需要后者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-06
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多