首页 > 解决方案 > React native - 使用 AsyncStorage 更新数组中的项目

问题描述

我想更新数组中的单个项目,但我不知道该怎么做。我尝试了这种方法,但它不起作用。

async _updatePoints (value) {
  await AsyncStorage.setItem(`@results:${value.scoreId}`, JSON.stringify(value));
  this._updateList();
}

如您所见,我的存储键是results,我试图找到我的 scoreId ,它是生成的随机 id。

scoreId: uuid.v4()

标签: reactjsreact-native

解决方案


你很接近,但你的语法只是稍微偏离了。你在尝试

AsyncStorage.setItem(`@results:${value.scoreId}`, JSON.stringify(value));

映射到

AsyncStorage.setItem(`@[key]:[key for value]`, [value for value]);

正确的语法其实是

AsyncStorage.setItem(`@[store]:[key]`, {[key for value]:[value for value]});

映射到

AsyncStorage.setItem(`@appName:results`, JSON.stringify({scoreId:value}));

推荐阅读