在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