在Redux应用中向哪里写入localStorage?

我想将状态树的某些部分持久保存到localStorage中。这样做的合适地点是什么?减速器或动作?

回答:

减速器从来都不是执行此操作的合适位置,因为减速器应该是纯净的,没有副作用。

我建议仅在订阅服务器中执行此操作:

store.subscribe(() => {

// persist your state

})

在创建商店之前,请阅读以下保留的部分:

const persistedState = // ...

const store = createStore(reducer, persistedState)

如果您使用combineReducers()它,则会注意到尚未接收到该状态的reducers将使用其默认state参数值正常启动。这可能非常方便。

建议您对订户进行反跳操作,以免写到localStorage的速度过快,否则会出现性能问题。

最后,您可以创建一个将其封装为替代方案的中间件,但我将从订户入手,因为它是一个更简单的解决方案,并且做得很好。

以上是 在Redux应用中向哪里写入localStorage? 的全部内容, 来源链接: utcz.com/qa/420527.html

回到顶部