在React Native应用程序中使用Realm与Redux

时间:2016-10-21 01:38:19

标签: sqlite react-native redux realm asyncstorage

我即将开发React Native应用程序并且完全相信使用Redux管理应用程序状态的好处,但是我想通过使用Realm进行持久存储来使应用程序的数据在离线时可用。我想知道Redux将如何与Realm一起玩?

我正在开发的应用程序将通过RESTful API提取大量JSON数据,然后我想将此数据保存到本地存储 - Realm似乎是一个很好的选择。然而,我不确定Realm数据库将如何存在于Redux商店中?它必须存在于商店外部吗?在基于Redux的应用程序中使用Realm在某种程度上是矛盾吗?

我已经很好地搜索了有关使用Realm或其他存储选项(Asyncstorage或SQLite)的文章,这些文章可以用于Redux的大型数据集,并且可以找到很少的信息。

1 个答案:

答案 0 :(得分:12)

当您只处理处理数据的组件时,redux存储很好。商店是维护应用程序状态的好方法。例如,您不需要Realm来存储当前登录状态或指示用户是否已跳过登录的标志。 redux商店在这里赢得了比赛。

另一方面,当您必须处理复杂查询或要存储大量数据时,Realm是最好的。拥有Realm的优势在于可以轻松地在您的反应组件以及非反应组件/类中访问数据。 Realm为您提供了使用Realm Browser监控数据并在模型之间建立关系的优势。如果你必须进行任何离线同步,Realm也会赢得比赛。

它是否必须存在于商店外部 -

在基于Redux的应用程序中使用Realm在某种程度上是矛盾 - 这取决于您使用存储的内容。