javascript - 在 React JavaScript 中显示/映射嵌套 JSON 字段

标签 javascript json reactjs material-ui

这是我第一次在这里发帖。我目前正在发展 JavaScript、React 和 Material-UI 方面的技能。我正在尝试在表格中显示示例嵌套 JSON 文件中的账单数据。

它登录到控制台,但我不明白为什么它没有显示在我的表格中。请帮助我:(

这是我的 JSON 文件:

[
  {
    "data": {
      "transactions": [
        {
          "referenceNumber": "2323",
          "transaction": "Reload",
          "details": {
            "sourceAccntNickname": "6jkp",
            "sourceAcountNicknae": "6*****48",
            "transactionDate": "Feb 08, 2018",
            "biller": [
              {
                "billerName": "AT&T",
                "billerAccntNumber": "6***98"
              }
            ],
            "recurring": false,
            "amount": 600000
          },
          "status": "failed"
        },
        {
          "referenceNumber": "2323",
          "transaction": "Reload",
          "details": {
            "sourceAccntNickname": "7jkp",
            "sourceAcountNicknae": "7*****48",
            "transactionDate": "Feb 09, 2018",
            "biller": [
              {
                "billerName": "AT&T",
                "billerAccntNumber": "6***98"
              }
            ],
            "recurring": true,
            "frequency": "Monthly",
            "amount": 700000
          },
          "status": "failed"
        }
      ]
    }
  }
]

这是我的代码,用于将数据显示到我的表中:

<TableBody>
          {stableSort(SchedData, getComparator(order, orderBy)).map(
            (data, index) => {
              return (
                <TableRow tabIndex={-1} key={index}>
                  <TableCell>
                    {data.data.transactions.map((date, index) => {
                      return (
                        <Typography key={index}>
                          {date.details.transactionDate}
                        </Typography>
                      );
                    })}
                  </TableCell>
                  <TableCell>
                    {data.data.transactions.map((rec, index) => {
                      return (
                        <h1 key={index}>
                          {rec.details.recurring === false ? (
                            <Typography>Future-dated</Typography>
                          ) : (
                            <Typography>{rec.details.frequency}</Typography>
                          )}
                        </h1>
                      );
                    })}
                  </TableCell>
                  <TableCell align='right'>
                    {data.data.transactions.map((bil, index) => {
                      bil.details.biller.map((bilNameAcct, index) => {
                        console.log(
                          bilNameAcct.billerName,
                          bilNameAcct.billerAccntNumber
                        );
                        return (
                          <Typography key={index}>
                            {bilNameAcct.billerName}
                            <br />
                            {bilNameAcct.billerAccntNumber}
                          </Typography>
                        );
                      });
                    })}
                  </TableCell>
                  <TableCell align='right'></TableCell>
                  <TableCell align='right'></TableCell>
                </TableRow>
              );
            }
          )}
        </TableBody>

这是我的输出和控制台的图像副本: OUTPUT/CONSOLE

任何帮助和提示将非常感激。预先感谢您对我的帮助!

最佳答案

您忘记返回 map() 的结果功能。

您的代码:

data.data.transactions.map((bil, index) => {
  bil.details.biller.map((bilNameAcct, index) => { 
    /* ... */ 
  })
})

工作代码:

data.data.transactions.map((bil, index) => {
  return bil.details.biller.map((bilNameAcct, index) => { 
    /* ... */ 
  })
})

完整<TableCell /> :

<TableCell align="right">
  {data.data.transactions.map((bil, index) => {
    return bil.details.biller.map((bilNameAcct, index) => {
      console.log(
        bilNameAcct.billerName,
        bilNameAcct.billerAccntNumber
      );
      return (
        <Typography key={index}>
          {bilNameAcct.billerName}
          <br />
          {bilNameAcct.billerAccntNumber}
        </Typography>
      );
    });
  })}
</TableCell>

关于javascript - 在 React JavaScript 中显示/映射嵌套 JSON 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63313393/

相关文章:

javascript - Markdown 加粗不带回溯的正则表达式

javascript - 如何在 ASP.NET WebForm 上通过 jQuery $.get() 方法访问 URL?

javascript - 我的 C# 函数返回一个 json 字符串。现在我必须在我的 Angular JS 代码中使用它。那么我必须使用哪个标签

javascript - jQuery:从另一个元素触发悬停事件

javascript - 仅当选择过滤器时才显示 JSON 结果

javascript - React 复选框 - Onchange 复选框,第一次未定义

javascript - React Native,在 for 循环中创建按钮

java - 使用 GSON 解析 JSON 提要并获取数组而不是多参数

php - 多线谷歌折线图,使用来自 mySQL 数据库的数据

reactjs - npm WARN deprecated tar@2.2.2 : This version of tar is no longer supported, 并且不会收到安全更新