为什么使用 redux-persist 而不是手动将状态持久化到 localStorage?
Why use redux-persist over manually persisting state to localStorage?
另一种提问方式是,如果您真的只想使用保存在 localStorage 中的数据启动您的应用程序(重新水化)并将每个 redux 状态更改保存到 localStorage(持久化)正在使用 redux-persist any better than using your own solution like Dan Abramov explains here?
我知道 redux-persist 有很多其他功能,我自己开始使用它是为了能够使用 redux-persist-crosstab(能够处理应用程序之间的变化 运行不同的选项卡),但我想知道将它用于最基本的场景是否有点矫枉过正。特别是因为它更难理解并且有时会做一些有趣的事情,比如随机调用 persist/REHYDRATE
。
我在这里遗漏了什么明显的东西吗?
redux-persist
的用法取决于应用程序的用例。
首先,让我强调一下 redux-persist
的一些主要功能
PersistGate 的用法自动提供 rendering of the components
的延迟,直到状态变为 persisted
以及显示 loading
组件的用法.
基于persistStore
、persistReducer
和persistObject
等多种类型持久化的自定义函数
AutoMerging
来自不同州的 initialStates
基于 shallow
和 deep
级别
可能是 blacklisting
和 whitelisting
最重要的特征 reducers
shallow
级别 persistence
和 deep
级别的嵌套持久性 persistence
坚持使用migrations
存储不同版本的redux-store
。
转换以支持 immutable、compression、encrypt、过滤器,等等
考虑到您构建的 application
仅用于 development
目的,那么它最多需要 PersistGate
、persistStore
,可能需要 blacklist
和 whitelist
的减速器,这仍然是 相当大的工作量 考虑到您知道您的应用程序可能需要什么 .
现在对于 production
级别且易于缩放的应用程序,那么它至少需要我上面列出的 5 / 7
功能。如果没有此模块,您可能需要安装 compression、encryption 等模块,找到一种方法来优雅地存储不同版本的 redux-store
和 retrieve
和 display
可能符合您的要求,以及 redux-store
状态的 rehydration
。
这还有很多含义,稍后会遇到。因此根据项目的要求,我认为使用这个包来管理 redux-store storage
是有益的
另一种提问方式是,如果您真的只想使用保存在 localStorage 中的数据启动您的应用程序(重新水化)并将每个 redux 状态更改保存到 localStorage(持久化)正在使用 redux-persist any better than using your own solution like Dan Abramov explains here?
我知道 redux-persist 有很多其他功能,我自己开始使用它是为了能够使用 redux-persist-crosstab(能够处理应用程序之间的变化 运行不同的选项卡),但我想知道将它用于最基本的场景是否有点矫枉过正。特别是因为它更难理解并且有时会做一些有趣的事情,比如随机调用 persist/REHYDRATE
。
我在这里遗漏了什么明显的东西吗?
redux-persist
的用法取决于应用程序的用例。
首先,让我强调一下 redux-persist
PersistGate 的用法自动提供
rendering of the components
的延迟,直到状态变为persisted
以及显示loading
组件的用法.基于
persistStore
、persistReducer
和persistObject
等多种类型持久化的自定义函数
AutoMerging
来自不同州的initialStates
基于shallow
和deep
级别可能是
blacklisting
和whitelisting
最重要的特征reducers
shallow
级别persistence
和deep
级别的嵌套持久性persistence
坚持使用
migrations
存储不同版本的redux-store
。转换以支持 immutable、compression、encrypt、过滤器,等等
考虑到您构建的 application
仅用于 development
目的,那么它最多需要 PersistGate
、persistStore
,可能需要 blacklist
和 whitelist
的减速器,这仍然是 相当大的工作量 考虑到您知道您的应用程序可能需要什么 .
现在对于 production
级别且易于缩放的应用程序,那么它至少需要我上面列出的 5 / 7
功能。如果没有此模块,您可能需要安装 compression、encryption 等模块,找到一种方法来优雅地存储不同版本的 redux-store
和 retrieve
和 display
可能符合您的要求,以及 redux-store
状态的 rehydration
。
这还有很多含义,稍后会遇到。因此根据项目的要求,我认为使用这个包来管理 redux-store storage