我可以使用 React Native 的异步存储从本地存储中获取值吗?
Posted
技术标签:
【中文标题】我可以使用 React Native 的异步存储从本地存储中获取值吗?【英文标题】:Can I get values from the local storage using Async Storage from React Native? 【发布时间】:2019-10-17 16:06:59 【问题描述】:我是 React Native 的新手。有一个用 Objective-C for ios 和 Java for android 编写的本机应用程序。我的任务是使用 React Native 添加另外两个屏幕。一般解决方案是here。
本机代码已经使用本地存储来存储永久数据(例如,有关授权用户的数据)。同时,React Native 使用 Async Storage 来处理永久数据。
【问题讨论】:
【参考方案1】:您需要使用setItem()
设置数据,使用getItem()
获取数据。
设置数据:
await AsyncStorage.setItem('key', 'data');
获取数据:
await AsyncStorage.getItem('key');
React Native 中的异步存储:https://facebook.github.io/react-native/docs/asyncstorage#docsNav
【讨论】:
我认为他的问题是android端无法访问AsyncStorage。 真正的异步存储不适用于 Android。但这不是问题。我已经有一个用本地代码编写的现成应用程序,它使用本地存储。在异步存储的帮助下,我无法获取应用程序已经使用的本地存储的数据。这就是为什么@DNA.h 似乎是最正确的答案。【参考方案2】:据我所知,AsyncStorage 在 iOS 端使用 Dictionary,在 android 端使用 SQLite。这两者在 React Native 端都无法访问。你应该在本地端和 React Native 之间写一个桥接器,以便允许在两端之间传递数据,这个 https://github.com/sriraman/react-native-shared-preferences 库就是一个很好的例子,它允许 React Native 访问本地本地共享首选项,反之亦然。
【讨论】:
感谢您的回答,我现在将根据它做出决定。 有没有为ios写过类似的东西?有没有人尝试过使用this library?以上是关于我可以使用 React Native 的异步存储从本地存储中获取值吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 React Native 中使用异步存储存储唯一数据?
React Native 已经有了异步存储。为啥我应该在我的 react native 应用中使用 Redux 和 Redux Thunk?