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 反应原生应用
使用钩子将 React Context 与 AsyncStorage 结合使用
react-native-fast-app 详解与使用之 AsyncStorage