【问题标题】:Need help getting a child within a node to an array需要帮助将节点内的孩子放入数组
【发布时间】:2020-12-18 21:16:01
【问题描述】:

我正在尝试将状态数组中的子节点中的数据获取到新数组中,以便在 DOM 上映射和显示。这是我的代码:

    const { tour } = this.state;
    const gearArray = Array.from(tour.gears);
    const showTourInfo = () => gearArray.map((label, value) => (
        <Link to={`/gear/${value}`} >{label}</Link>
    ));

这是我的数据结构:

-MOq_JbS669VyEbv4CXt
  description: "Iron Maiden Tour"
  firebaseKey: "-MOq_JbS669VyEbv4CXt"
  gears
    -0
     -label: "Jazzmaster"
     -value: "-MOhOuYl1_EZ-xkeI03a"
    -1
     -label: "JMP"
     -value: "-MOlWQ9FDs_2wO3SL2hb"
  name: "World Tour 2020"

我想获取标签/值并映射它们。提前致谢。

【问题讨论】:

  • gearArray.map((label, value) =&gt; ( 更改为gearArray.map(( { label, value }) =&gt; (
  • 我回来未定义
  • 为什么这个标签是json。这里没有 JSON。

标签: javascript arrays json reactjs


【解决方案1】:

你可以这样做

const { tour } = this.state;
    const gearArray = Object.values(tour.gears);
    const showTourInfo = () => gearArray.map(({label, value}) => (
        <Link key={label} to={`/gear/${value}`} >{label}</Link>
    ));

【讨论】:

  • 那没有做到。我得到:无法将 undefined 或 null 转换为对象。巡回演出在状态。感谢您的回复。
  • 能否请您给我 json 格式的游览对象,因为我从您的帖子中认为 gears 是一个对象
  • -MOq_JbS669VyEbv4CXt -description: "Iron Maiden Tour" -firebaseKey: "-MOq_JbS669VyEbv4CXt" -gears -0 -label: "Jazzmaster" -value: "-MOhOuYl1_EZ-xkeI03a" -1 -label: " JMP”-值:“-MOlWQ9FDs_2wO3SL2hb”-名称:“2020 年世界巡回赛”
  • 对不起,上面的格式更好。我的数据存储在 Firebase 中,我编写了一个函数来将数据推送到该结构中的状态。感谢您的帮助!
  • 欢迎,最后一件事能否请您给我console.log(tour)的结果;
猜你喜欢
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 2014-03-12
  • 1970-01-01
  • 2016-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多