在 React Native 中怎样更快捷方便的访问 AsyncStorage ?
export const RNStorage = {// RNStorage 自定义数据存储对象
token: undefined, // 字符串类型
isShow: undefined, // 布尔类型
userInfo: undefined, // 对象类型
};
import { XStorage } from 'react-native-easy-app';
import { AsyncStorage } from 'react-native';
//Or import AsyncStorage from '@react-native-community/async-storage'
const initCallback = () => {
// 现在起,你可以同步读、写 RNStorage 中的任何属性了
console.log(RNStorage.isShow);
// 相当于 [ console.log(await AsyncStorage.getItem('isShow')) ]
RNStorage.token = 'TOKEN1343DN23IDD3PJ2DBF3==';
// 相当于 [ await AsyncStorage.setItem('token',TOKEN1343DN23IDD3PJ2DBF3==') ]
RNStorage.userInfo = {name: 'rufeng', age: 30};
// 相当于 [ await AsyncStorage.setItem('userInfo',JSON.stringify({ name:'rufeng', age:30})) ]
};
XStorage.initStorage(RNStorage, AsyncStorage, initCallback);
// Or await XStorage.initStorageSync(RNStorage, AsyncStorage);
// 通过 react-native-easy-app,你只需要将您自定义的持久化实例对象与 AsyncStorage 绑定即可。 然后你就可以在任何地方,对你自定义的实例对象 RNStorage 的属性进行随意取值、赋值;相应的这些值都会被自动同步到 AsyncStorage 中,而且可以支持,string,bool,object,array 等一系列可以序列化的数据类型。
react-native-easy-app 的更多功能,欢迎查看 github 与简书介绍:
github:https://github.com/chende008/react-native-easy-app
简书:https://www.jianshu.com/p/88821b1607a7
欢迎朋友们使用,感觉大家的 star !
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.