当前位置: 首页 > 知识库问答 >
问题:

仅在Android Pie上出现“.map不是函数”错误?

全飞扬
2023-03-14

我们在中遇到了一个相当奇怪的现象。map在我们的React Native(0.59.3版)项目中:APK在各种物理设备或模拟器上运行良好,但在Android 9.0版上运行不好,因为它与

TypeError: o.map is not a function. 
(In 'o.map(function(t,n){n.icon_color=A.white,
-1!==s.findIndex(function(n){return t.title==n.title})
&&(t.icon_color=A.red)})','o.map' is undefined)

这是错误弹出窗口的外观:

我们知道,如果我们应用的变量. map不是数组,就会出现此消息,但我们确实确保它是数组(无论如何,它在各种其他版本和设备上都能工作)。我们错过了什么?

给好奇的人一些背景

我们有两个数组,一个是我们从API响应中获得的数据集数组,另一个是来自设备上本地数据库的书签数据集列表。我们将映射功能应用于API响应数组,并检查收藏夹数据库中是否存在数据集中的特定项。基于此,我们改变图标的颜色。根据我们的测试人员,他也有互联网接入,但我们无论如何监控版本2.0.0。

相关问题

  • 错误:. map()不是一个函数
  • React. map()不是函数错误
  • https://www.freecodecamp.org/forum/t/map-is-suddenly-not-a-function/134196

共有2个答案

逑景铄
2023-03-14

正如其他人所说,o不是一个可编辑的对象。

您需要检查堆栈中更高的问题。如果o应该是API调用返回的数组,那么API调用很可能失败,或者对其响应的解析失败。

羊时铭
2023-03-14

只有当o不是数组时才会发生这种情况。您可以使用

Array.isArray(o);

这里有更多的细节。可以安全地排除这是Android9特定问题的可能性。我有一台Android9设备,并且已经测试了很多次map。如果您能够始终只在Android9上复制,那么在Android9上运行时,可能会有其他东西在起作用。我建议在运行map之前,使用上述方法检查数组是否存在。

其他选择:

  1. 如果需要更改数组中某些元素的图标颜色,并且只需要这些元素,则可以使用。对于单个元素和,查找()。过滤器()用于多个元素
  2. 如果需要整个数组作为响应,请选择。map()将是。forEach()用于循环的次数

如果你能用准确的代码更新问题(即使在桌面浏览器上不可复制),很乐意用更具体的答案更新答案

 类似资料:
  • 尝试从组件订阅HTTP-GET的解析响应。得到一个错误的说法。无论是从HTTPService还是从组件类使用,map都不是一个函数。 但以下工作: 解析在Httpdemo服务中也不起作用。 我的代码中的用法有什么问题?

  • 问题内容: 我正在尝试学习React,并且是Java的初学者。现在,我正在开发一个从Flickr的API提取数据的应用程序。问题是,当我尝试在Main.js组件中的props上使用map方法时,出现错误消息“ Uncaught TypeError:this.props.photos.map不是函数”。在此处在Stackoverflow上搜索后,我认为问题在于this.props是javascrip

  • 我尝试在两个日期之间获取值。在服务器端,它可以正常工作,但在前端,它会将错误显示为生日。地图不是一个函数 生日服务ts 浏览器控制台错误 core.js:1350错误打字错误:birthdays.map不是一个函数在MapSubscriber.project(birthday.service.ts:28)在MapSubscriber.webpackJsonp.../.../.../.../rxjs

  • 我目前正在学习crud与express和node的反应。我成功地将数据插入到数据库中,但当我想表示我在使用.map时出错的数据时,我感到困惑 这是我的代码。请帮忙。 我得到的错误62| 63 |

  • 我想知道如何修复以下错误: 我知道我应该在构造函数内部进行绑定,也不能在onChange内部进行绑定,有什么想法吗?

  • 我得到这个错误: 我的http语法缺少什么?