Database 如何使用react native在本地存储中存储数据?
我想用react-native和redux创建带有注释的待办事项列表。我有复杂的逻辑将笔记和待办事项存储在不同的位置,不同的状态。我应该如何将所有关系和所有数据存储在Android/IOS设备的本地存储中 但是,请注意异步存储限制,如加密和大小 您可以这样使用它:Database 如何使用react native在本地存储中存储数据?,database,react-native,redux,Database,React Native,Redux,我想用react-native和redux创建带有注释的待办事项列表。我有复杂的逻辑将笔记和待办事项存储在不同的位置,不同的状态。我应该如何将所有关系和所有数据存储在Android/IOS设备的本地存储中 但是,请注意异步存储限制,如加密和大小 您可以这样使用它: import AsyncStorage from '@react-native-community/async-storage'; export default { setItem: async (key, value) =&g
import AsyncStorage from '@react-native-community/async-storage';
export default {
setItem: async (key, value) => {
try {
await AsyncStorage.setItem(key, JSON.stringify(value));
} catch (error) {}
},
getItem: async (key) => {
try {
const item = await AsyncStorage.getItem(key);
return JSON.parse(item);
} catch (error) {}
},
removeItem: async (key) => {
try {
await AsyncStorage.removeItem(key);
} catch (error) {}
},
updateItem: async (key, value) => {
try {
const item = await AsyncStorage.getItem(key);
const result = {...JSON.parse(item), ...value};
await AsyncStorage.setItem(key, JSON.stringify(result));
} catch (error) {}
},
};
异步存储只能存储字符串数据,因此为了存储对象数据,需要首先对其进行序列化。对于可以序列化为JSON的数据,可以在保存数据时使用JSON.stringify(),在加载数据时使用JSON.parse()
import AsyncStorage from '@react-native-community/async-storage';
存储字符串值
const storeData = async (value) => {
try {
await AsyncStorage.setItem('@storage_Key', value)
} catch (e) {
// saving error
}
}
排序对象值
const storeData = async (value) => {
try {
const jsonValue = JSON.stringify(value)
await AsyncStorage.setItem('@storage_Key', jsonValue)
} catch (e) {
// saving error
}
}
const getData = async () => {
try {
const jsonValue = await AsyncStorage.getItem('@storage_Key')
return jsonValue != null ? JSON.parse(jsonValue) : null;
} catch(e) {
// error reading value
}
}
读取字符串值
const getData = async () => {
try {
const value = await AsyncStorage.getItem('@storage_Key')
if(value !== null) {
// value previously stored
}
} catch(e) {
// error reading value
}
}
读取对象值
const storeData = async (value) => {
try {
const jsonValue = JSON.stringify(value)
await AsyncStorage.setItem('@storage_Key', jsonValue)
} catch (e) {
// saving error
}
}
const getData = async () => {
try {
const jsonValue = await AsyncStorage.getItem('@storage_Key')
return jsonValue != null ? JSON.parse(jsonValue) : null;
} catch(e) {
// error reading value
}
}
应避免将所有数据存储在本地存储器中。它有一些内存限制!