javascript - 如何使用 Reactjs 将对象数据渲染到表中

标签 javascript reactjs object

我从 API 得到了一个数据,它看起来像对象数据(JSON)Public API Link

import React, { Component } from 'react';
import axios from 'axios';
import './PostContainer.css';

class PostContainer extends Component {
  constructor(props) {
    super(props);
    this.state = { chartData: {} };
  }

  async componentDidMount() {
    let { data: chartData } = await axios.get(
      'https://api.bithumb.com/public/ticker/all'
    );
    this.setState({ chartData });
  }

  render() {
    const { chartData } = this.state;
    // chartData.data.date = undefined;
    // delete chartData.data.date;
    console.log(`DATA ${chartData.data}`);

    // for (const val, index in chartData.data) {
    //   console.log(`${index} : ${val.sell_price}`)
    // }

    return (
      <div className="Post">
        <table id="table" className="table table-striped table-bordered">
          <thead>
            <tr>
              <th>Coin Name</th>
              <th>Current Price</th>
              <th>Volume</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>{?? What should I enter?}</td>
              <td>123123123123</td>
              <td>12312312</td>
            </tr>
            <tr>
              <td>ETH</td>
              <td>121243123</td>
              <td>1231231</td>
            </tr>
          </tbody>
        </table>
      </div>
    );
  }
}

export default PostContainer;

我想像这样将所有数据呈现到表格中。

enter image description here

使用 console.log,它返回的对象是这样的

enter image description here

但我不知道如何迭代以使用这些对象数据来呈现数据。 在我使用 Express & NodeJS & Pug 环境之前,我使用 for...in 语句并且它运行良好。但是在 Reactjs 中使用这段代码

for (const val, index in chartData.data) {
      console.log(`${index} : ${val.sell_price}`)
    }

出现这样的错误

  Line 24:  Parsing error: Unexpected token

我尝试了很多其他的迭代方法,但似乎都不对。

最佳答案

如果你打算迭代值 Object.entries() 也可以跳过关键部分。

for (const [key, value] of Object.entries(chartData.data)) {
  console.log(`${value.sell_price}`)
}

// Or, via forEach

Object.entries(chartData.data).forEach(([key, value]) => {
  console.log(`${value.sell_price}`) 
});

关于javascript - 如何使用 Reactjs 将对象数据渲染到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56620486/

相关文章:

javascript - ajax 生成的表单,通过 javascript 函数通过 php 插入值——当我通过 id 检查元素时,元素不存在?

Javascript 在每次点击时添加 DIV

javascript - NestJS 无法解析 AuthServices 的依赖关系

c++ 为什么对象的拷贝不允许访问原始对象的私有(private)变量?

c++ - 比较两个 vector 以获得公共(public)元素/定义 user1 和 user2

javascript - 根据 Angularjs 中的选择选项添加或删除字段

javascript - this.props.filterUser 不是一个函数

javascript - React中查询状态,如果存在则setState或update

javascript - 如何使用根 reducer 配置存储

javascript - 如何向 jquery 创建的元素添加数据?