翻译:reactnative.dev/docs/asyncs… 刘传君
AsyncStorage是一个未加密的、异步的、持久的、键值存储系统,它是全局的。应该使用它来代替LocalStorage。
建议你在AsyncStorage之上使用一个抽象,而不是直接使用AsyncStorage,因为它是全局操作的,所以还是轻度使用好些。
在iOS上,AsyncStorage由原生代码支持,它将小的值存储在序列化的字典中,大的值存储在单独的文件中。在Android上,AsyncStorage将根据可用的情况使用RocksDB或SQLite。
AsyncStorage JavaScript代码是一个门面,它提供了一个清晰的JavaScript API、真实的Error对象和非多函数。API中的每个方法都会返回一个Promise对象。
导入AsyncStorage库。
代码语言:javascript复制import { AsyncStorage } from 'react-native';
持久化数据:
代码语言:javascript复制_storeData = async () => {
try {
await AsyncStorage.setItem(
'@MySuperStore:key',
'I like to save it.'
);
} catch (error) {
// Error saving data
}
};
提取数据:
代码语言:javascript复制_retrieveData = async () => {
try {
const value = await AsyncStorage.getItem('TASKS');
if (value !== null) {
// We have data!!
console.log(value);
}
} catch (error) {
// Error retrieving data
}
};