React:持久存储选项?

时间:2016-04-18 16:54:25

标签: reactjs redux

我最近一直在阅读React和Redux。它看起来很有趣,我想将它用于小型个人项目。我不断回到的一个问题是,数据什么时候保存到数据库(或某种持久存储)?

大多数教程都解释了组件,道具,状态但是我没有找到很多关于将状态保存到持久存储的可靠信息。有些文章提到了本地存储,但是当它被清除后会发生什么?所有用户的数据都消失了。 。 。 ?

最终,必须在某个时候使用数据库,对吗?

我一直在研究Axios来帮助API后端。这是一个不错的选择吗?有没有办法保存到本地存储,以便用户立即看到UI更新,并在事后默默地调用API端点?

对想法和建议持开放态度。谢谢!

2 个答案:

答案 0 :(得分:1)

这确实是一个广泛的话题,但你认为互联网缺乏数据持久性的例子。一个原因是,反应和减少都不是有助于这些的框架;这意味着它是图书馆的一个很好的应用,但不是它们所呈现的抽象概念的核心。

这并不是说它是可以撤销的,恰恰相反。在redux中间件的帮助下,这成为一项有趣的任务,可以与您的应用程序的其余部分完美配合。实现数据持久性的方法有很多种,所以我在这里解释一下,我在自己的应用程序中使用它。

CouchDB + PouchDB +中间件

  • CouchDB :JSON格式的简单文档存储
  • PouchDB :将您的localStorage与CouchDB实例同步,以自动允许离线使用

由于数据库引入了有状态行为,因此redux建议使用中间件来保持商店的状态不受限制。在此中间件中,您可以将数据库实例同步到商店。此中间件只是读取数据库中的数据并触发操作以将其插入到存储中。然后,您的应用程序将触发中间件拾取并用于在其数据库中存储数据的操作。最后,数据库使用插入/更新/删除的新数据更新商店。

这是一种简单而强大的方法,可以在维护redux存储的同时将JSON可序列化数据保存到数据库中。

答案 1 :(得分:0)

使用 react-persistent-store-manager。对持久数据使用拉取状态和 localforage。很直接。