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

  • 支付增值税会计科目
  • 收款和出库哪个借方哪个贷方?
  • 会计信息不采集,证书会失效吗
  • 软件销售利润
  • 企业出现亏损的原因有哪些
  • 餐厅团购券在哪个软件的
  • 发票大头小尾什么意思
  • 外汇结汇的方法有哪些呢?
  • 上年减值准备收回如何做账务处理呢?
  • 如何加强存货管理内部控制
  • 融资租赁的固定资产由承租方进行核算,体现了( )原则
  • 长期借款产生的利息计入哪个科目
  • 购买的认证标志入什么费用?
  • 一般销售商品业务
  • 企业盈利后又亏损怎么算
  • 其他综合收益影响净利润吗
  • 公司购房、售房需要缴纳哪些税?
  • 个人缴纳的公积金可以贷款吗
  • 固定资产对外投资增值税
  • 股权转让的公允价值
  • 创新券兑付怎么操作
  • 车辆购置税通过应交税费吗
  • win10设置里没有飞行模式
  • 公司净资产怎么算出来的
  • 没有劳动合同不给工资怎么办
  • 大沙丘国家公园在哪里
  • 红蘑菇是什么松树伞吗
  • PHP:stream_context_create()的用法_Stream函数
  • thinkphp框架介绍
  • PHP:file_get_contents()的用法_Filesystem函数
  • 酒店装修期间的费用如何核算
  • 戈佐西餐厅
  • 混合债清偿顺序
  • php 调试工具
  • 黏菌算法总结
  • 深度学习参数初始化(二)Kaiming初始化 含代码
  • rmt命令 远端磁带传输协议模块
  • php弹出登录框
  • 员工安全培训费可以计入安全费用吗
  • 小规模升级一般纳税人后可以降为小规模吗
  • 购买的服务怎么做账
  • vue注册用户名和密码
  • 贸易净利润
  • css的flex:1
  • mongodb索引使用正则表达式
  • 将织梦dedecms转换到wordpress
  • 经济利益的总流入
  • 一次性取得租赁合同
  • 国家税务总局公告2011年第25号公告
  • 应交税费明细科目设置最新
  • 同级财政和本级财政
  • 建筑公司工程款税率
  • 独立法人的全资子公司
  • 单位保险柜里都放些什么
  • 困难行业企业包括哪四大类
  • 代扣税是啥
  • 小规模附加税要交吗
  • 企业个人工资薪金换了电脑怎么能导得出来
  • 客户从公司借钱怎么拒绝
  • 对外投资的会计科目
  • 印花税是根据什么计算的
  • 不得从销项税额中抵扣的进项税额,不得计提加计抵减额
  • 货拉拉平台收取费用
  • sql语句参数值
  • mysql5.5忘记密码
  • win7一键升级到win10
  • 微软补丁修复时出现蓝屏现象
  • 怎样一键重装
  • windows7怎么画画
  • linux系统叫啥
  • neotrace.exe - neotrace是什么进程 有什么用
  • 电脑自带的groove音乐用不了
  • mac os 必装软件
  • nodejs ddd
  • nodejs 文档
  • oracle安装使用
  • 自动登入
  • javascript教程
  • 增值税税负偏低的风险点
  • 漯河经济开发区税务局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设