redux,版本控制预加载状态?

redux,版本控制预加载状态?,redux,Redux,[预加载状态](任意):初始状态。您可以选择指定 它可以从通用应用程序中的服务器获取状态,或者 还原以前序列化的用户会话 我可以使用PRELOEDSTATE参数成功初始化存储 然而,有时我需要改变国家的结构 举个例子,我最初有 { totalCount: 3, usedCount: 1 } 现在我想把它改成 { totalCount: 3, unusedCount: 2 } 那么第一个结构中的存储状态现在将无效。 至少我想放弃旧的状态,从新的初始状态重新开始 我将状态存储在

[预加载状态](任意):初始状态。您可以选择指定 它可以从通用应用程序中的服务器获取状态,或者 还原以前序列化的用户会话

我可以使用PRELOEDSTATE参数成功初始化存储

然而,有时我需要改变国家的结构

举个例子,我最初有

{
  totalCount: 3,
  usedCount: 1
}
现在我想把它改成

{ 
  totalCount: 3,
  unusedCount: 2
}
那么第一个结构中的存储状态现在将无效。
至少我想放弃旧的状态,从新的初始状态重新开始

我将状态存储在服务器中,并将其用作预加载状态参数。
当状态结构更改时,是否有方法放弃服务器存储状态?

我正在共享我的解决方案。 我创建了HOC reducer()

 export function versionedReducer(reducerFunction) {

   return (state, action) => {

     const isInitializationCall = state === undefined

     if (isInitializationCall) {
       return state
     }

     const { version } = reducerFunction(undefined, {type: undefined})
     if (!version) {
       throw "should versioned"
     }
     const shouldAcceptPreloadedState = state.version && state.version >= version

     if (!shouldAcceptPreloadedState) {
       state = undefined
     }

     return reducerFunction(state, action)

   }
 }