redux 通过combineReducers添加的reducer是否使用Immer进行状态更新?

kxkpmulp  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(178)

我是一个完全新手在使用Redux/Redux工具包和正在写一个小应用程序。我目前的商店和还原器设置看起来像下面的东西:

const store = configureStore({
    reducer: rootReducer
})
  
...
...
const rootReducer = combineReducers({
    settings: SettingsReducer,
    user: UserReducer,
})

我写了SettingsReducerUserReducer,如下所示:

const SettingsReducer = (state: SettingsState = initialSettingsState, action: SettingsReducerActionType) => {
    switch (action.type) {
        ...
        ...
        default: return state
    }
}

const UserReducer = (state: UserState = initialUserState, action: UserReducerActionType) => {
    switch (action.type) {
        ...
        ...
        default: return state
    }
}

我想知道我的UserReducerSettingsReducer是否会使用Immer来更新状态?查看Redux文档时,它提到使用函数createSlicecreateReducer将允许Immer使用,所以我想得到一些确认。

du7egjpx

du7egjpx1#

Redux's documentation开始
Redux Toolkit的createReducer和createSlice会自动在内部使用Immer,让你使用“mutating”语法编写更简单的不可变更新逻辑。这有助于简化大多数Reducer实现。
如果不使用createReducercreateSlice,就没有使用Immer。

相关问题