位置: 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眼中的世界 ——人工智能绘画入门(关于眼中的世界的作文)

  • 冰墩墩网上怎么买(冰墩墩正式亮相时间)

    冰墩墩网上怎么买(冰墩墩正式亮相时间)

  • 支付宝的亲情卡在哪里查(支付宝的亲情卡怎么还款的)

    支付宝的亲情卡在哪里查(支付宝的亲情卡怎么还款的)

  • 抖音怎么转发朋友圈(抖音怎么转发朋友圈视频)

    抖音怎么转发朋友圈(抖音怎么转发朋友圈视频)

  • 微信如何发大于25m文件(微信如何发大于25m图片)

    微信如何发大于25m文件(微信如何发大于25m图片)

  • 电脑黑屏的主要原因是什么(电脑黑屏了是什么意思)

    电脑黑屏的主要原因是什么(电脑黑屏了是什么意思)

  • 支付宝有些账单查不到(支付宝有个账单想不起来了)

    支付宝有些账单查不到(支付宝有个账单想不起来了)

  • 苹果xsmax国行有高通基带吗(苹果xsmax国行有面容吗)

    苹果xsmax国行有高通基带吗(苹果xsmax国行有面容吗)

  • e04授权丢失怎么办(e04授权丢失啥意思)

    e04授权丢失怎么办(e04授权丢失啥意思)

  • 文档怎么往下添加页数(文档怎么往下添加页码)

    文档怎么往下添加页数(文档怎么往下添加页码)

  • pagedown什么意思(page down键是什么意思啊)

    pagedown什么意思(page down键是什么意思啊)

  • 为什么微信下载不下来(为什么微信下载的文件手机找不到)

    为什么微信下载不下来(为什么微信下载的文件手机找不到)

  • ipad a1709什么版本(ipad a1709是什么型号)

    ipad a1709什么版本(ipad a1709是什么型号)

  • 电视怎么增加蓝牙功能(电视上面的蓝牙怎么设置)

    电视怎么增加蓝牙功能(电视上面的蓝牙怎么设置)

  • 华为荣耀8怎么修改时间(华为荣耀8怎么刷机)

    华为荣耀8怎么修改时间(华为荣耀8怎么刷机)

  • 把通讯录导到微信上去(怎样把通讯录转到微信列表)

    把通讯录导到微信上去(怎样把通讯录转到微信列表)

  • 手机怎么设置来电显示(手机怎么设置来电空号)

    手机怎么设置来电显示(手机怎么设置来电空号)

  • 笔记本熄屏快捷键(笔记本快捷键熄灭屏幕)

    笔记本熄屏快捷键(笔记本快捷键熄灭屏幕)

  • 相互保扣费怎么查(相互保扣款有上限吗)

    相互保扣费怎么查(相互保扣款有上限吗)

  • 李玫瑾微信公众号多少(李玫瑾微信公众号怎么关注)

    李玫瑾微信公众号多少(李玫瑾微信公众号怎么关注)

  • iqoo全面屏手势设置(iqoo全面屏手势失效)

    iqoo全面屏手势设置(iqoo全面屏手势失效)

  • 小米8充电特效怎么设置(小米8充电特效在哪)

    小米8充电特效怎么设置(小米8充电特效在哪)

  • 全民k歌怎么清理封号粉(全民k歌怎么清理数据)

    全民k歌怎么清理封号粉(全民k歌怎么清理数据)

  • 手机测wifi网速的方法是什么呢?(手机测wifi网速准不准)

    手机测wifi网速的方法是什么呢?(手机测wifi网速准不准)

  • CMOS密码设置方法(cmos密码和bios密码)

    CMOS密码设置方法(cmos密码和bios密码)

  • JS操作数组神器——reduce(求和、出现次数、去重、分类)(js数组菜鸟教程)

    JS操作数组神器——reduce(求和、出现次数、去重、分类)(js数组菜鸟教程)

  • 并入房屋价值的土地是否交房产税?
  • 企业技术转让享受税收优惠政策应符合哪些条件
  • 简易计税方法的计算公式
  • 公司组织出国旅游费用
  • 餐饮税务每个月几号报税
  • 进销存工作流程
  • 电子发票开票方怎么做账
  • 其他综合收益税后净额影响净利润吗
  • 航空运单可以作为提货凭证吗
  • 会计凭证整理的要求有哪些
  • 期末存货跌价准备金额的确定
  • 筹建期可以有收入吗
  • 不相关企业之间调拨资产该如何做账务处理?
  • 公司没有缴纳住房公积金离职能要求补缴吗
  • 接收虚开增值税专用发票要判刑吗
  • 业务招待费税前扣除规定
  • 个人所得税扣除的
  • 免税农产品的范围有哪些
  • 公司还没有成立,前期的费用怎么开发票呢
  • 公司变更税务处理?
  • 厂家质量问题商家有责任吗
  • 稿酬计入工资所得吗
  • 事业单位收到租金收入
  • 笔记本电脑应该关机还是睡眠
  • Laravle eloquent 多对多模型关联实例详解
  • cachelib
  • 未分配利润可以用来干什么
  • frontpage在哪里打开
  • 销售商品收取的运费会计分录
  • 收益类账户借增贷减
  • 增值税发票开错了可以退吗
  • 金税盘锁死会电子发票也开不了吗
  • 拔缴经费收入
  • 上月的会计分录做错了
  • 赔偿金需要交税么
  • 小规模纳税人抵税是普票还是专票
  • 民营医疗机构是指哪些
  • mysql命令行如何命令行导出查询结果并导入
  • MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
  • 企业应纳税所得额的计算应遵循权责发生制原则
  • 开票资料需要哪些东西
  • 甲供材料怎么记账
  • 个体户季报网上申报怎么填写
  • 电子承兑没到期兑换手多少手续费
  • 转让不动产怎么计算增值税
  • 预收账款冲销账户怎么做
  • 高新技术企业进项税加计扣除10%如何填企业所得税季报
  • 公司之间的借款利息有最小限制吗
  • 补交以前年度的房产税会计分录
  • 金税盘减免税款的会计分录
  • 在岗职工平均工资在哪里查询
  • 客户到我公司签字怎么说
  • 新公司现金日记账怎么记账的
  • sqlserver如何查询表数据
  • windows server特点
  • 英伟达更新有用吗
  • windows xp开机按f12是什么操作
  • ubuntu搭建tftp服务器
  • freelibrary 程序崩溃
  • win10 io1
  • quick cocos2dx-Lua中的自定义事件的使用
  • android消息队列使用
  • python怎么编程
  • js中断点用法
  • linux用c语言实现命令功能
  • 置顶的朋友圈屏蔽的人能看到吗
  • NGUI简介
  • javascript总结笔记
  • node-js
  • linux shell脚本攻略(第3版)
  • 安卓手机怎么设置自动化
  • js自动切换图片效果
  • unity-chan
  • js实现拖拽元素改编顺序
  • 自定义view的基本流程
  • Material Design:利用RecyclerView CardView实现新闻卡片样式
  • Jquery $when done then的用法详解
  • 注销税务说明
  • 个人转让限售股原值无法确定
  • 厦门税务地区编号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设