位置: IT常识 - 正文

React报错之map() is not a function(react错误处理)

编辑:rootadmin
React报错之map() is not a function

推荐整理分享React报错之map() is not a function(react错误处理),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:react useparams,react sourcemap,react中的map,react中的map,react map函数,react-bmap,react sourcemap,react sourcemap,内容如对您有帮助,希望把文章链接给更多的朋友!

当我们对一个不是数组的值调用map()方法时,就会产生"TypeError: map is not a function"错误。为了解决该错误,请将你调用map()方法的值记录在console.log上,并确保只对有效的数组调用map。

这里有个示例来展示错误是如何发生的。

const App = () => { const obj = {}; // ⛔️ Uncaught TypeError: map is not a function return ( <div> {obj.map(element => { return <h2>{element}</h2>; })} </div> );};export default App;

我们在一个对象上调用Array.map()方法,得到了错误反馈。

React报错之map() is not a function(react错误处理)

为了解决该错误,请console.log你调用map方法的值,确保它是一个有效的数组。

export default function App() { const arr = ['one', 'two', 'three']; return ( <div> {arr.map((element, index) => { return ( <div key={index}> <h2>{element}</h2> </div> ); })} </div> );}Array.isArray

你可以通过使用Array.isArray方法,来有条件地检查值是否为数组。

const App = () => { const obj = {}; return ( <div> {Array.isArray(obj) ? obj.map(element => { return <h2>{element}</h2>; }) : null} </div> );};export default App;

如果值为数组,则返回对其调用map方法的结果,否则返回null。这种方式不会得到错误,即使值不是一个数组。

如果值是从远程服务中获取,请确保它是你期望的类型,将其记录到控制台,并确保你在调用map方法之前将其解析为一个原生JavaScript数组。

Array.from

如果有一个类数组对象,在调用map方法之前你尝试转换为数组,可以使用Array.from()方法。

const App = () => {const set = new Set(['one', 'two', 'three']);return ( <div> {Array.from(set).map(element => { return ( <div key={element}> <h2>{element}</h2> </div> ); })} </div>);};export default App;

在调用map方法之前,我们将值转换为数组。这也适用于类数组的对象,比如调用getElementsByClassName方法返回的NodeList。

Object.keys

如果你尝试迭代遍历对象,使用Object.keys()方法获取对象的键组成的数组,在该数组上可以调用map()方法。

export default function App() { const employee = { id: 1, name: 'Alice', salary: 100, }; return ( <div> {/* 👇️ iterate object KEYS */} {Object.keys(employee).map((key) => { return ( <div key={key}> <h2> {key}: {employee[key]} </h2> <hr /> </div> ); })} <br /> <br /> <br /> {/* 👇️ iterate object VALUES */} {Object.values(employee).map((value, index) => { return ( <div key={index}> <h2>{value}</h2> <hr /> </div> ); })} </div> );}

我们使用Object.keys方法得到对象的键组成的数组。

const employee = { id: 1, name: 'Alice', salary: 100,};// 👇️ ['id', 'name', 'salary']console.log(Object.keys(employee));// 👇️ [1, 'Alice', 100]console.log(Object.values(employee));
本文链接地址:https://www.jiuchutong.com/zhishi/300523.html 转载请保留说明!

上一篇:基于imx8m plus开发板全体系开发教程4:Linux系统开发(imx6ul开源项目)

下一篇:AI眼中的世界 ——人工智能绘画入门(关于眼中的世界的作文)

  • 企业网站从用户角度看怎样做好友情链接(企业网站用户特点)

    企业网站从用户角度看怎样做好友情链接(企业网站用户特点)

  • 自己的网站推广品牌博客是怎样建立的(自己的网站如何推广引流)

    自己的网站推广品牌博客是怎样建立的(自己的网站如何推广引流)

  • 数据线破皮了怎么修补(数据线破皮怎么缠绕修复)

    数据线破皮了怎么修补(数据线破皮怎么缠绕修复)

  • ctrl v无法粘贴(ctrl+c无法复制粘贴怎么办)

    ctrl v无法粘贴(ctrl+c无法复制粘贴怎么办)

  • 显示于windows7桌面上的图标可分为(显示于Windows7桌面上的图标可分为 图标和快捷图标)

    显示于windows7桌面上的图标可分为(显示于Windows7桌面上的图标可分为 图标和快捷图标)

  • 苹果xr怎么关闭实况拍照(苹果xr怎么关闭自动续费功能)

    苹果xr怎么关闭实况拍照(苹果xr怎么关闭自动续费功能)

  • airpods怎么关机(airpods怎么关机开机)

    airpods怎么关机(airpods怎么关机开机)

  • 华为还原所有设置意思(华为还原所有设置是什么意思)

    华为还原所有设置意思(华为还原所有设置是什么意思)

  • 读卡器可以插手机吗(读卡器可以插手机下载歌曲吗)

    读卡器可以插手机吗(读卡器可以插手机下载歌曲吗)

  • 主板能插几个固态硬盘(主板可以装几条固态)

    主板能插几个固态硬盘(主板可以装几条固态)

  • 绿洲怎么注销账号(绿洲注销账号后点赞还有吗)

    绿洲怎么注销账号(绿洲注销账号后点赞还有吗)

  • 小米盒子我的应用在哪(小米盒子我的应用卸载)

    小米盒子我的应用在哪(小米盒子我的应用卸载)

  • 电信路由器密码是多少(电信路由器密码一般是多少)

    电信路由器密码是多少(电信路由器密码一般是多少)

  • 华为scul10是mate7吗(slatl10华为什么型号多少钱)

    华为scul10是mate7吗(slatl10华为什么型号多少钱)

  • qq面对面快传视频存哪了(QQ面对面快传视频播放不了)

    qq面对面快传视频存哪了(QQ面对面快传视频播放不了)

  • 一直播账户能注销吗(一直播账号)

    一直播账户能注销吗(一直播账号)

  • 华为荣耀9x是5g手机吗(华为荣耀9x是5g还是4g)

    华为荣耀9x是5g手机吗(华为荣耀9x是5g还是4g)

  • 云闪付退款到账要多久(云闪付退款到账时间是多久)

    云闪付退款到账要多久(云闪付退款到账时间是多久)

  • 新手学c还是java(新手学c还是java找工作)

    新手学c还是java(新手学c还是java找工作)

  • 快手怎么定位到外地(快手怎么定位到乡镇)

    快手怎么定位到外地(快手怎么定位到乡镇)

  • cad怎么画开关(cad怎么画开关布置图)

    cad怎么画开关(cad怎么画开关布置图)

  • 京东自营店如何加盟(京东自营店如何运营好)

    京东自营店如何加盟(京东自营店如何运营好)

  • Linux系统中安装使用Bzip2来压缩文件的方法讲解(linux系统中安装web服务)

    Linux系统中安装使用Bzip2来压缩文件的方法讲解(linux系统中安装web服务)

  • AriaNg Native 1.2.4 Aria2图形界面下载工具 中文免费版 32/64位

    AriaNg Native 1.2.4 Aria2图形界面下载工具 中文免费版 32/64位

  • npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。(npm无法将npm项识别为)

    npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。(npm无法将npm项识别为)

  • 免抵退税办法不得抵扣的进项税额
  • 汇算清缴期间费用填表说明
  • 进项税额不允许抵扣怎么计算
  • 研发项目帐务处理方案
  • 个体小规模一般纳税人税率多少
  • 居民企业核定征收企业所得税的情形有哪些
  • 应计利息会计分录处理
  • 包装物一次摊销的会计分录
  • 没有税收编码的发票怎么开具红字票
  • 品种法在制造企业中的运用
  • 贸易类公司所得税核定征收税率是多少?
  • 转让五年以上住房免征个人所得税吗?
  • 餐费适用税率
  • 原始股 出售
  • 外国人的纳税人识别号是护照号吗
  • 结构化存款是什么
  • 劳务公司差额征收税率是多少
  • 审计费可以抵扣进项吗
  • 硝铵磷肥的肥效期
  • 出口退税免退税办法
  • 公司注销时债权人未申报债权
  • 快递公司账务处理流程及方法
  • 哪些金融资产的股票会涨
  • php截取网页指定内容
  • 清理系统所有垃圾
  • ati2mdxx.exe是什么进程 ati2mdxx进程信息查询
  • 公司收到医疗保障局打入的钱怎么做账
  • php的数组函数
  • fssm32.exe是什么进程 有什么作用 fssm32进程查询
  • cnqmax.exe进程的详细注解 cnqmax进程是病毒吗 安全吗
  • 未缴纳社保可以直接走人吗
  • 会计费用科目分类表
  • java 调用go
  • php采集系统
  • php fopen读取文件
  • windows pythonpath
  • python 构建
  • 新手入门指南
  • net命令详解步骤
  • 租赁发票的租赁日期怎么写
  • 内部交易费用外部交易费用
  • 进程 python
  • 应收款超过多久未收回可界定为损失
  • 逐期增长量与累计增长量
  • 营改增后为什么利息要提供发票吗
  • 企业会计准则无形资产土地摊销
  • 百旺税控盘会自动清卡吗
  • 个税清算所得税怎么计算
  • 差旅费包括内容
  • 营业净利率和总资产周转率正相关
  • 现金支付无发票怎么报销
  • 医院销售药品是否缴纳增值税
  • 股权转让可行性
  • 物流运输货损管理规定
  • 支付给劳务人员劳务费需缴纳印花
  • 出售无形资产损失
  • 备用金如何管理制度
  • 商品流通企业的含义与特点
  • 怎么验证触发器的执行
  • win81蓝屏重启故障
  • Windows Server 2008系统10个意外惊喜
  • win7开机taskeng
  • mac安装mysql详细教程
  • win10计算机管理器
  • linux 网络配置
  • linux怎么查看
  • linux解压操作
  • javascript基础编程
  • python里的迭代器
  • python scripy
  • axios异步
  • JavaScript中的6种运算符总结
  • 东莞市国家税务局网上办税大厅
  • 月度申报如何改为季度申报
  • 医保断交一年怎么续交
  • 岗位回避什么意思
  • 智利有什么自然景观
  • 营改增后的工程造价怎么算
  • 重庆国税网上怎么申报
  • 代理记账公司有什么风险吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设