减速器从来都不是执行此操作的合适位置,因为减速器应该是纯净的,没有副作用。
我建议仅在订阅服务器中执行此操作:
store.subscribe(() => { // persist your state})在创建商店之前,请阅读以下保留的部分:
const persistedState = // ...const store = createStore(reducer, persistedState)
如果您使用
combineReducers()它,则会注意到尚未接收到该状态的reducers将使用其默认
state参数值正常启动。这可能非常方便。
建议您对订户进行反跳操作,以免写到localStorage的速度过快,否则会出现性能问题。
最后,您可以创建一个将其封装为替代方案的中间件,但我将从订户入手,因为它是一个更简单的解决方案,并且做得很好。



