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

  • 网址怎么创建快捷方式到桌面(网址怎么创建快捷方式到手机桌面)

    网址怎么创建快捷方式到桌面(网址怎么创建快捷方式到手机桌面)

  • 苹果微信怎么变深色主题(苹果微信怎么变黑色主题)

    苹果微信怎么变深色主题(苹果微信怎么变黑色主题)

  • vivo手机没有隐藏图标怎么办(vivo手机没有隐藏相册吗)

    vivo手机没有隐藏图标怎么办(vivo手机没有隐藏相册吗)

  • 小米儿童手表怎么连接手机(小米儿童手表怎么关机)

    小米儿童手表怎么连接手机(小米儿童手表怎么关机)

  • 微信好友加入黑名单后,他还可以加你吗(微信好友加入黑名单后如何恢复)

    微信好友加入黑名单后,他还可以加你吗(微信好友加入黑名单后如何恢复)

  • vivox23幻彩版内屏坏了(vivox23幻彩版内屏坏了多少钱)

    vivox23幻彩版内屏坏了(vivox23幻彩版内屏坏了多少钱)

  • 电源开关on和off哪个是开(电源开关off和on怎么读)

    电源开关on和off哪个是开(电源开关off和on怎么读)

  • amd3800x相当于英特尔什么(amd3800x相当于英特尔什么cpu)

    amd3800x相当于英特尔什么(amd3800x相当于英特尔什么cpu)

  • 粘贴图片到文档为什么显示不全(粘贴图片到word)

    粘贴图片到文档为什么显示不全(粘贴图片到word)

  • 抖音可以同时在两个手机上登录吗

    抖音可以同时在两个手机上登录吗

  • iphone11有nfc功能吗(iphone11有nfc功能怎么打开)

    iphone11有nfc功能吗(iphone11有nfc功能怎么打开)

  • 爱奇艺下载电视剧怎么下载(爱奇艺下载电视剧怎么传给别人)

    爱奇艺下载电视剧怎么下载(爱奇艺下载电视剧怎么传给别人)

  • 朋友圈提醒谁看对方知道吗(朋友圈提醒谁看对方会有特殊通知吗)

    朋友圈提醒谁看对方知道吗(朋友圈提醒谁看对方会有特殊通知吗)

  • 闪送没人接单会自动取消吗(闪送 没人接单)

    闪送没人接单会自动取消吗(闪送 没人接单)

  • 苹果手机新机有没有膜(苹果手机新机有充电器吗)

    苹果手机新机有没有膜(苹果手机新机有充电器吗)

  • 阿里运费模板怎么设置(阿里运费模板怎么删除)

    阿里运费模板怎么设置(阿里运费模板怎么删除)

  • 什么叫手机分辨率(什么是手机分辨率?)

    什么叫手机分辨率(什么是手机分辨率?)

  • 京东预约后怎么抢购(京东预约后怎么购买)

    京东预约后怎么抢购(京东预约后怎么购买)

  • 华为share怎么传文件(华为share怎么传文件到手机)

    华为share怎么传文件(华为share怎么传文件到手机)

  • 屏显时间怎么设置(屏幕显示时间的设置)

    屏显时间怎么设置(屏幕显示时间的设置)

  • 怎么修改QQ空间发过的说说(怎么修改QQ空间可见范围)

    怎么修改QQ空间发过的说说(怎么修改QQ空间可见范围)

  • ip是什么意思(Tip是什么意思英语)

    ip是什么意思(Tip是什么意思英语)

  • read  读取单行数据内容(readline只读一行)

    read 读取单行数据内容(readline只读一行)

  • 个人去税务局开劳务票 税点是多少
  • 纯外贸出口企业出售固定
  • 建筑公司跨区域迁入
  • 业务员报销差旅费会计分录怎么做
  • 增值税纳税申报表模板
  • 收到投资款如何写凭证
  • 行政事业性收费票据
  • 个体户经营税收政策
  • 一般劳务报酬和税收区别
  • 银行存款转存利息一样吗
  • 车量购置税申报流程是什么样的?
  • 财政补助收入怎么结转
  • 当月确认收入下月开票
  • 销售自产自销的产品要交税吗?
  • 通用机打发票可以抵扣税吗
  • 增值税专用发票的税率是多少啊
  • 项目部临时设施平面图
  • 如何防止虚开发票 等舞弊行为?
  • 农产品增值税免税
  • 财务报表调整后审计是不也要调整
  • 简化丢失专用发票的处理流程
  • 企业收到退款应该如何做会计处理?
  • 红字增值税专用发票信息表怎么填
  • 苹果mac os x 怎样打开DVD播放程序
  • 跟a签订合同可以撤销吗
  • 文化事业建设费2023年是否减免了
  • 个人以房产投资一人有限公司时,房产要开发票吗
  • 购买办公用品是否缴纳印花税
  • 螃蟹不能和什么食物一起
  • php fgets函数的用法
  • 过拟合能不能从根本上解决
  • vue element ui教程
  • codegenerator用法
  • 非常好看的头像
  • 人工智能导论课后题答案
  • 常见反爬策略
  • iterator用法 移除对象
  • fping命令参数
  • php常用的三种设置方式
  • 帝国cms如何使用
  • 发票 技术服务
  • 如何更改电子税务局办税人员
  • 新旧会计准则口径
  • 股权转让怎么做账
  • 合同印花税怎么做会计分录
  • 产品检验费怎样计算
  • 当月没认证发票有补救措施吗
  • 公司一般户的钱怎么拿出来
  • 递延所得税资产和所得税费用的关系
  • 城镇土地使用税征收范围
  • 结转周转材料成本
  • 接受捐赠可以确认为收入吗
  • 股东投入固定资产怎么做账
  • 小规模公司开票税率是多少
  • 发票什么时间认证
  • 什么叫归集和分配
  • mysql中mysqldump
  • system表空间满了怎么处理
  • mysql如何优化性能
  • win7开机提示由于启动计算机时出现页面文件
  • linux 执行结果写到文件
  • centos nohup
  • linux jack
  • 电脑w7系统怎么保存图片
  • win10的用户
  • node.js操作文件
  • android环境搭建教程
  • awk命令使用什么变量存储行号
  • pyqt5编译
  • javascript快速入门
  • 梦见擦窗户框
  • jquery选项卡
  • jQuery 3.0 的 setter和getter 模式详解
  • javascript基于什么的语言
  • 企业滞纳金怎么算 计算公式
  • 印刷行业费用标准
  • 银行缴纳印花税存在问题和建议
  • 税务报运维需要多长时间
  • 车船税收费标准表
  • 税收筹划与避税的性质相同
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设