AsyncStorage 与 Expo.SQLite

Posted

技术标签:

【中文标题】AsyncStorage 与 Expo.SQLite【英文标题】:AsyncStorage vs Expo.SQLite 【发布时间】:2018-07-11 03:28:40 【问题描述】:

我正在创建一个可以下载、上传、存储许多图像的应用程序。我正在尝试了解如何最好地管理数据以提高性能。

我正在使用 Redux 存储我的应用程序的状态,我使用 redux-persist 将状态存储在 AsyncStorage 中。

但我也明白 create-react-native-app 还在 expo 包中提供了一个名为 SQLite 的模块。 (https://docs.expo.io/versions/latest/sdk/sqlite.html)。

我正在尝试找出在哪里存储我的数据是个好主意。

我应该将所有图像(base64 编码)存储到 redux 中吗?这可能高达 100mb 的数据。还是应该将图像存储到 SQLite 中,我假设数据像在 sqlite “.db” 文件中一样平坦存储?

【问题讨论】:

【参考方案1】:

我会使用FileSystem.downloadAsync 将图像存储到文件系统中。然后你可以将唯一 ID 到图像文件路径的映射存储在 SQLite 或 Redux + AsyncStorage 中。

【讨论】:

以上是关于AsyncStorage 与 Expo.SQLite的主要内容,如果未能解决你的问题,请参考以下文章

将 iOS 中的 AsyncStorage 与 Apple Watch 反应原生应用

反应本机同步存储与 AsyncStorage

使用钩子将 React Context 与 AsyncStorage 结合使用

react-native-fast-app 详解与使用之 AsyncStorage

react-native-easy-app 详解与使用之 AsyncStorage

react-native-easy-app 详解与使用之 AsyncStorage