1

我想知道redux有自己的数据库还是需要MongoDB、MySQL或其他数据库?

它是会话、cookie、internalStorage、LocalStorage 和 IndexedDB 的替代品吗?

redux 是在反应组件之间传递状态/数据的最佳方式吗?

谢谢。

4

2 回答 2

2

Redux 用于客户端状态,默认情况下它仅在内存中,尽管没有什么可以阻止您将其持久化到 localStorage、sessionStorage 或 indexedDB。它不是与您的数据库数据的 1:1 映射,或者至少大多数人不是这样使用它的。由您的视图调度操作,然后更新存储状态,以便其他视图可以对这些数据更改做出反应。

人们将它与后端结合使用,例如,您的操作可以是通过 API 获取或将数据放入数据库的函数,您可以通过在成功或失败时调度操作来将结果存储在存储中。

于 2017-11-02T16:22:10.510 回答
1

Redux 是一个内存存储,它跟踪整个应用程序中不同位置的数据,并帮助您将数据路由到需要去的地方。它不涉及传统的持久数据库。事实上,使用数据库来持久化 Redux 状态是非常不寻常的,因为通常存储在 Redux 中的数据类型通常与特定用户和特定会话相关。也就是说,诸如“用户点击了按钮 A”之类的内容。大多数应用程序只需要记住,当用户登录并仍在给定页面上时。

也就是说,如果您希望永久维护应用程序的状态,则没有什么特别的原因不能将 Redux 状态保存在数据库中。不过,我认为大多数 UX 设计师会说这是不必要的,甚至可能会根据应用程序的复杂性、应用程序的查看次数以及用户上次登录以来的时间长短而造成混淆。

于 2017-11-02T16:21:37.857 回答