Javascript React:JS TypeError:items.map不是函数

Javascript React:JS TypeError:items.map不是函数,javascript,reactjs,react-native,typeerror,array.prototype.map,Javascript,Reactjs,React Native,Typeerror,Array.prototype.map,我试图用react显示API中的项目列表 在我的组件类Explore中,我想编写从api获取和显示数据的代码 在对项、this.state、items.state或items.state.results使用.map时,我在查询中需要的数据上遇到以下错误: 无法读取未定义**| |**类型的属性“map”错误:this.state.map不是函数 未处理的拒绝类型错误:items.map不是函数 组件本身的结构是否存在问题?用渲染还是物品声明? 我错过了这个或这个州的什么吗?我需要向.map添加函

我试图用react显示API中的项目列表

在我的组件类Explore中,我想编写从api获取和显示数据的代码

在对项、this.state、items.state或items.state.results使用.map时,我在查询中需要的数据上遇到以下错误:

无法读取未定义**| |**类型的属性“map”错误:this.state.map不是函数

未处理的拒绝类型错误:items.map不是函数

组件本身的结构是否存在问题?用渲染还是物品声明? 我错过了这个或这个州的什么吗?我需要向.map添加函数还是更改键

当我控制台登录到代码items或items.results的呈现部分时,我确实在map调用之前获得了所需的数据

谢谢你的帮助

从“React”导入React,{Component}; 导入“/App.css”; 从“/ItemDetail”导入ItemDetail; 类探索扩展组件{ 构造器{ 超级作物; this.state={ 项目:[], }; } 组件安装{ 取回https://myapi/search/photos?query=myquery&client_id=myclientid' .thenres=>res.json .thenjson=>{ 这是我的国家{ isLoaded:是的, 项目:json, }; }; } 渲染{ var{items}=this.state; 回来 导航到 {items.mapitem=> Desc:{item.results.Desc} } ; } }
导出默认值 在调用.map之前,请尝试添加一个检查,以查看是否设置了项以及它是否是一个数组

在您调用map的行中添加项目&&!!items.length&&items.map

此外,问题可能是您接收数据的格式。
在调用此函数之前,请尝试console.log json。setState

在调用.map之前,请尝试添加一个检查,查看是否设置了项,以及它是否是一个数组

在您调用map的行中添加项目&&!!items.length&&items.map

此外,问题可能是您接收数据的格式。
在调用此.setState之前,请尝试console.log json。json是数组吗?您确定在这个````中。thenjson=>{this.setState{isLoaded:true,items:json,};};````json是一个数组?您好,如上所述,您的'items'根本不是数组,因此。map将不可用。json是数组吗?您确定在这个```。thenjson=>{this.setState{isLoaded:true,items:json,};};```json是一个数组?您好,如上所述,您的'items'根本不是数组,因此。map将不可用。如果我在调用setState之前用json控制台记录接收到的数据:{total:85169,total_pages:8517,results:Array10}作为包含所需结果数组的对象接收到的数据,请尝试更改'this.setState'{isLoaded:true,items:json,};`to`this.setState{isLoaded:true,items:json.results,};`this.setState{isLoaded:true,items:json.results,};`this.setState{isLoaded:true,items:json.results,};成功了!感谢在调用setState之前,我的控制台记录了在json中收到的数据:{total:85169,total_pages:8517,results:Array10}作为包含所需结果数组的对象接收的数据?尝试将`this.setState{isLoaded:true,items:json,};`更改为`this.setState{isLoaded:true,items:json.results,};`this.setState{isLoaded:true,items:json.results,};成功了!谢谢