【发布时间】:2021-05-02 12:27:39
【问题描述】:
我在 React 中将数组映射为列表时遇到问题。
这是我当前的反应代码:
import React, { Component } from "react";
import axios from "axios";
class BuySell extends Component {
constructor() {
super();
this.state = {
dataDepth: [],
};
}
componentDidMount() {
axios.get("https://indodax.com/api/depth/btcidr").then((getData) => {
console.log(getData);
this.setState({
dataDepth: [getData.data],
});
});
}
render() {
const dataBuy = this.state.dataDepth.map((item, index) => {
var listBuy = [item.buy];
return <li key={index}>{listBuy}</li>;
});
return (
<div>
<h1>GET DATA:</h1>
<ul>{dataBuy}</ul>
</div>
);
}
}
export default BuySell;
当前输出为:
- 4464800000.046446090.6844680998944446080796844608079464446080.04444680898944444807946444480384464448800 ,>>>>>>>>>>>>>>>>>>>>>>>>>>SC60398939898039398980889466446080384644460880034464460803864444860383444468080.344468 ,>>>>>>>>>>>>>>>(
(编辑)我的期望:
- 4464800000
- 4464280000
- 4460200000
- 4460010000
- 等等
(每个数组项的第一个索引)
API 数据是:
{
"buy": [
[
447500000,
"0.03443557"
],
[
447216000,
"0.00022361"
],
[
447198000,
"0.00234181"
],
[
447142000,
"0.00002564"
],
so on
}
【问题讨论】:
-
为什么
[item.buy]被转换成数组? -
您可能应该展示一个从 API 返回的数据示例(如果
item.buy是一个数组,那么这将解释您所看到的内容)并说明您希望如何显示这个嵌套数组数据. -
已编辑,我已包含 API 数据
-
您是否看到任何控制台错误?我希望
dataDepth.map抛出,因为返回的数据是对象而不是数组。 -
@evolutionxbox 它被放入一个数组:
dataDepth: [getData.data],,所以map只迭代一次。
标签: javascript reactjs api axios