redux-persist-何时需要还原器?

时间:2018-08-03 18:29:42

标签: javascript reactjs react-native redux redux-persist

redux-persist库提供了将Redux状态树存储到某种存储中并在重新打开应用程序时重新水化的方法。

我认为有必要还原状态树,因为它包含有用的数据,但是该库还包括用于持久化reducers 的功能。

const persistedReducer = persistReducer(persistConfig, rootReducer)

我不太了解背后的动机,因为我认为减速器只是使状态发生变化的功能。与状态树中的动态数据相比,这些代码在代码中定义明确。

何时应坚持使用减速器?有任何显示它为什么有帮助的示例吗?

3 个答案:

答案 0 :(得分:1)

示例中的更好名称可能是:

const persistingReducer = persistReducer(persistConfig, rootReducer)

作为Al.G.在他的评论中提到,persistreducer返回一个增强型化简器,该化简器包装了您传入的rootReducer,并将根据您传入的配置持久化该化简器的 state

Reducer本身并不持久,因为它们只是函数。

答案 1 :(得分:0)

我以前使用过redux-persist,它有一个用例,您想在其中使用它。

假设您正在创建一个Facebook克隆网站。然后,您转到个人资料并获取所有帖子。现在,如果用户刷新网站,它将刷新您的redux到初始状态,对吗?您可能需要重新加载所有数据,这在这种情况下不是最佳选择。

使用Redux-persist刷新网络时,它可以启动最新的redux会话,而您无需再次获取任何内容。因此,当用户刷新时,它已经再次加载了帖子和个人资料。

让我知道您是否仍然对此感到困惑

答案 2 :(得分:0)

您可以使用持久数据来加载信息,就像动态菜单一样快,您可以在应用程序请求获取信息时从持久数据中预加载菜单,如果令牌已过期,则可以保存会话,您只需要刷新令牌即可;刷新持久数据