redux-persist库提供了将Redux状态树存储到某种存储中并在重新打开应用程序时重新水化的方法。
我认为有必要还原状态树,因为它包含有用的数据,但是该库还包括用于持久化reducers 的功能。
const persistedReducer = persistReducer(persistConfig, rootReducer)
我不太了解背后的动机,因为我认为减速器只是使状态发生变化的功能。与状态树中的动态数据相比,这些代码在代码中定义明确。
何时应坚持使用减速器?有任何显示它为什么有帮助的示例吗?
答案 0 :(得分:1)
示例中的更好名称可能是:
const persistingReducer = persistReducer(persistConfig, rootReducer)
作为Al.G.在他的评论中提到,persistreducer返回一个增强型化简器,该化简器包装了您传入的rootReducer,并将根据您传入的配置持久化该化简器的 state 。
Reducer本身并不持久,因为它们只是函数。
答案 1 :(得分:0)
我以前使用过redux-persist,它有一个用例,您想在其中使用它。
假设您正在创建一个Facebook克隆网站。然后,您转到个人资料并获取所有帖子。现在,如果用户刷新网站,它将刷新您的redux到初始状态,对吗?您可能需要重新加载所有数据,这在这种情况下不是最佳选择。
使用Redux-persist刷新网络时,它可以启动最新的redux会话,而您无需再次获取任何内容。因此,当用户刷新时,它已经再次加载了帖子和个人资料。
让我知道您是否仍然对此感到困惑
答案 2 :(得分:0)
您可以使用持久数据来加载信息,就像动态菜单一样快,您可以在应用程序请求获取信息时从持久数据中预加载菜单,如果令牌已过期,则可以保存会话,您只需要刷新令牌即可;刷新持久数据