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
相关产品推荐
相关产品推荐

