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

  • 上月少计提的个税本月怎么调整
  • 美容美发属于什么行业
  • 代理税务有哪些机构
  • 发行股票手续费佣金计入什么科目
  • 增值税发票如何作废流程
  • 注销股本对所有股票影响
  • 小规模现金流量表的编制方法和计算公式
  • 企业季度报什么税
  • 有红字发票如何入账
  • 个人所得税申报是什么意思?
  • 2019年小型微利企业优惠政策
  • 私人企业利润怎么分配?
  • 车辆购置税完税证明二维码用什么扫
  • 金融业的企业
  • 固定资产大修理的标准
  • 税收制度具体内容
  • 房地产行业增值税筹划
  • 农产品流通环节税收优惠政策
  • 发票签收单怎么填
  • 母公司子公司之间担保
  • 公司注册资金未实缴可以申请破产吗
  • 健身房属于什么经营类别
  • 经营性租入的设备是资产吗
  • 计算所得税时扣除增值税附加怎么算
  • 工程合同外购设备怎么开票
  • 公司租赁个人车辆需要哪些手续
  • 买手机5000预算
  • 税收返还包括哪些税
  • 什么叫冲减进项税额
  • 合伙企业是怎样分红的
  • 公司自建办公楼
  • soft version
  • php字符串变量
  • php ftp上传文件
  • 什么手机最薄最有手感
  • 差旅费报销管理规定2022
  • 运输合同印花税税率
  • php随机ua
  • mmdetection optimizer
  • tls版本过低怎么办
  • 速动资产是指
  • java一维数组从小到大排序
  • vue2跟vue3
  • 织梦如何使用
  • 契税计税依据是否包含耕地占用税
  • 收到赔偿金怎么写收据?
  • 工资总额借方和贷方的区别
  • 金税四期何时上线
  • 纳税人增值税专用发票票面价税合计最多开多少金额
  • 收到汇算清缴退回的税款如何做账
  • 亏损做t计算方法
  • 期末结转主营业务成本
  • 预收账款和预付账款都属于负债类科目
  • 转出未交增值税借方余额表示什么
  • 工商年报和税务年报有什么区别
  • 免增增值税的有
  • 劳动仲裁要出面吗
  • 收到税务局汇算清缴退所得税怎么做账
  • 银行存款明细账借方代表什么
  • mysql5717安装及配置超详细教程
  • xp系统如何更改开机启动项
  • mac expose
  • win7电脑dns存在问题怎么修复
  • Win7系统打开蓝牙
  • linux 定时执行命令
  • 命令以管理员运行
  • bat批处理命令大全
  • 搭建nodejs
  • androidsocket原理
  • bootstrap教材
  • js实现回文
  • python django运行
  • 运用python编写程序
  • 纳税申报表如何打印
  • 电子票怎么申领到开票系统
  • 夫妻双方房子契税怎么算
  • 河南税务机关
  • 出口退税正式申报资料上传
  • 成都交房需要交什么费用
  • 发票明细怎么导入开票系统里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设