我是ReactNative的新手,但是我对React有一些经验。
在这里,我试图在AsyncStorage中存储多个数据并尝试检索它们,但是我只能存储单个数据
代码:
state = {
data: [],
item: ""
};
storeData = async () => {
await AsyncStorage.setItem("@storage_Key", JSON.stringify(this.state.item));
this.getData();
};
componentDidMount() {
this.getData();
}
getData = async () => {
try {
const value = await AsyncStorage.getItem("@storage_Key");
let { data, item } = this.state;
data.push(value);
this.setState({
data: data,
item: ""
});
} catch (e) {
// error reading value
}
};
任何帮助或指导将不胜感激
答案 0 :(得分:0)
仅在分别使用setItem
和getItem
时设置和检索一项。
如果要存储多个项目,可以使用multiSet
AsyncStorage.multiSet(['key1', 'value1'], ['key2', 'value2']);
如果要检索多个项目,可以使用multiGet
AsyncStorage.multiGet(['key1', 'key2'], (err, items) => {
console.log({ items });
});
答案 1 :(得分:0)
我在使用
方面经验丰富根据我从您的代码中看到的内容,您正在保存状态项 当您从存储中检索数据时,您会将其放入数据中,对吗?
我建议您更改数据排列方式
您使用let {data} = this.state;
如果您知道无法使用=设置状态数据 我建议您创建一个新变量->让数据存储,并将其与数据=值一起存储,然后可以设置状态({数据:数据})