我在将promise返回的字符串转换为数组时遇到麻烦。 Promise由React Native中的AsyncStorage返回。我已经尝试过JSON.parse和.split(),但是我认为我没有正确使用它们。之后,我需要能够从数组中调用特定的键值对。如果您有任何建议,请告诉我。我已经在控制台日志中包含了我的代码,错误的屏幕截图和返回的值
onLocationsSelectionChange = (locationsSelected) => {
console.log("does this work", locationsSelected, this.state.locationsSelected.length)
AsyncStorage.setItem('@MySuperStore:locationsSelected', JSON.stringify(this.state.locationsSelected));
const myArray = AsyncStorage.getItem('@MySuperStore:locationsSelected')
console.log('test Array', (myArray));
console.log('myArray', JSON.parse(myArray))
this.setState({locationsSelected});
};
答案 0 :(得分:0)
从AsyncStorage
文档中,您应该这样获得商品:
_retrieveData = async () => {
try {
const value = await AsyncStorage.getItem('TASKS');
if (value !== null) {
// Here use JSON.parse(value)
}
} catch (error) {
// Error retrieving data
}
}