我想更新数组中的单个项目,但我不知道该怎么做。我尝试了这种方法,但是没有用。
async _updatePoints (value) {
await AsyncStorage.setItem(`@results:${value.scoreId}`, JSON.stringify(value));
this._updateList();
}
如您所见,我存储的密钥是结果,我试图找到它的我的scoreId,它是生成的随机ID。
scoreId: uuid.v4()
答案 0 :(得分:1)
您已接近,但语法略有不同。您正在尝试
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}));