You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native使用immutability-helper更新状态报错:Unexpected token

解决immutability-helper的语法错误问题

嘿,我一眼就瞅出你代码里的问题啦!你遇到的Unexpected token (57:95)错误,是因为在更新latlng对象时犯了语法错误——你把latitude和longitude拆成了两个独立的对象直接并列,这不符合JavaScript对象的语法规则哦。

错误原因分析

你原来的代码里,latlng字段对应的是两个用逗号分隔的对象:

{latlng: {latitude: {$set: 40.3565}},{longitude: {$set: 27.977} } }

但实际上latlng本身就是一个包含latitude和longitude的对象,这两个属性应该放在同一个对象大括号里,而不是拆成两个对象。

修正后的代码

把latitude和longitude合并到同一个latlng对象里就可以解决问题啦:

import update from 'immutability-helper';

const newlatlng = update(this.state, {
  markers: {
    latlng: {
      latitude: {$set: 40.3565},
      longitude: {$set: 27.977}
    }
  }
});

this.setState(newlatlng);

这样写就符合immutability-helper的语法要求了,它会正确地更新state里markers.latlng下的两个属性值。

内容的提问来源于stack exchange,提问作者Engin Yilmaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:19:56