Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 迭代嵌套对象_Javascript_Reactjs - Fatal编程技术网

Javascript 迭代嵌套对象

Javascript 迭代嵌套对象,javascript,reactjs,Javascript,Reactjs,您好,我正在尝试迭代和呈现来自嵌套JSON对象的数据。我可以访问第一层数据,但不能访问嵌套数据。我得到错误“TypeError:无法读取未定义的属性'name'。我理解为什么this.state.coinData未定义,但无法将其转换为代码。请帮忙 类CoinList扩展组件{ //... 建造师(道具){ 超级(道具); 此.state={ 数据:[], }; } componentDidMount(){ 康斯特·阿皮基; 取('https://api.nomics.com/v1/curren

您好,我正在尝试迭代和呈现来自嵌套JSON对象的数据。我可以访问第一层数据,但不能访问嵌套数据。我得到错误“TypeError:无法读取未定义的属性'name'。我理解为什么this.state.coinData未定义,但无法将其转换为代码。请帮忙

类CoinList扩展组件{
//...
建造师(道具){
超级(道具);
此.state={
数据:[],
};
}
componentDidMount(){
康斯特·阿皮基;
取('https://api.nomics.com/v1/currencies/ticker?key=“+apiKey+”&interval=1d”)
.then(response=>response.json())
.then(data=>this.setState({coinData:data}))
.catch(错误=>console.log(错误))
} 
render(){
返回(
h1
氢
h3
{this.state.coinData.map((coin)=>
{硬币.货币}
{coin.rank}
)}
)
}
}
导出默认列表;
我正在尝试访问的JSON数据:

在调用API并通过componentDidMount填充状态为空的数组之前,您似乎正在使用tbody中的.map方法进行渲染


在映射之前,尝试添加一个条件来检查coinData数组是否有任何值(例如,只有当数组有值时,才运行映射代码)。通过这种方式,页面将呈现,然后您的组件将装载,API将被调用并在状态下填充数组,然后页面将重新呈现。

在调用API并通过componentDidMount填充状态下的空数组之前,您似乎在tbody中使用.map方法进行呈现


在映射之前,尝试添加一个条件来检查coinData数组是否有任何值(例如,只有当数组有值时,才运行映射代码)。通过这种方式,页面将呈现,然后您的组件将装载,API将被调用并以状态填充数组,然后页面将重新呈现。

使用不同的示例API,即使延迟API的响应,我在运行代码时也不会遇到任何问题。您是否有可能在某个地方输入了错误,或者您的API没有返回任何内容


使用不同的示例API,我在运行代码时不会遇到任何问题,即使我延迟了API的响应。您是否有可能在某个地方输入了错误,或者您的API没有返回任何内容


coinData在您的示例中不是一个数组,它看起来像一个对象…在调试程序中检查它您能发布更多的
coinData
数组吗?我在JSON中没有看到您试图访问的任何属性(名称、货币、等级),因此您应该会收到所有这些属性的未定义错误-除非您只是发布数组的一小部分?这可能是一个输入错误,但以防万一。。。这不是JSON示例中的“id”,而是“1d”不,id不是打字错误,我在上面发布了JSON数据!!,我正在尝试访问此.state.coinData[“1d”]。volume@Barryman9000我发布了更多的json数据!!coinData在您的示例中不是一个数组,它看起来像一个对象…在Debugger中检查它您可以发布更多的
coinData
数组吗?我在JSON中没有看到您试图访问的任何属性(名称、货币、等级),因此您应该会收到所有这些属性的未定义错误-除非您只是发布数组的一小部分?这可能是一个输入错误,但以防万一。。。这不是JSON示例中的“id”,而是“1d”不,id不是打字错误,我在上面发布了JSON数据!!,我正在尝试访问此.state.coinData[“1d”]。volume@Barryman9000我发布了更多的json数据!!im tryna返回嵌套对象项SIM tryna返回嵌套对象项