【问题标题】:Iterating a array data reactjs迭代数组数据reactjs
【发布时间】:2020-09-28 11:09:02
【问题描述】:
   const rowData = this.state.market.map((market) => {
   console.log("details", market["info"])
      {
        return {
          marketInfo: (
            <div>
              {market && !!market["info"] ? (
                <div>
                  <p>{market["info"]["name"]}</p>
                </div>
              ) : null}
            </div>
          ),
          place: "place",
          area: "area",
          action: "action",
        };
      }
    });

我在 marketInfo 中迭代一个数组,但每当我迭代时我得到相同的名称,但在控制台日志中我得到不同的名称。我的代码实际上有什么问题!谁能帮帮我!

【问题讨论】:

  • 您能否提供更多信息,当您在地图内迭代时,您在“市场”中究竟得到了什么?
  • 市场是一个对象,包含信息和内部信息我有名字
  • 你为什么不直接做 {market.info.name} ?
  • 它显示一个错误,说“从不”类型上不存在属性信息。但这不是问题。我担心的是,每当我在市场上迭代时,我每次都得到相同的名字,尽管我应该得到不同的名字
  • 可以分享沙盒链接吗?

标签: javascript reactjs typescript syntax


【解决方案1】:
   const rowData = this.state.market.map((market) => {
   console.log("details", market["info"])
       return {
          marketInfo: (
            <div>
              {market?.["info"] ? (
                <div>
                  <p>{market["info"]?.["name"] || ""}</p>
                </div>
              ) : null}
            </div>
          ),
          place: "place",
          area: "area",
          action: "action",
        };
    });

试试这个代码。 我想你忘了在你的地图函数中返回一个对象

【讨论】:

  • 它将如何工作?会有什么不同?因为他提到他每次都印同一个名字。
  • 是的,我也从这段代码中获得了相同的名称!
猜你喜欢
  • 2017-02-09
  • 2018-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-04
  • 1970-01-01
相关资源
最近更新 更多