我是一个完全新手在使用Redux/Redux工具包和正在写一个小应用程序。我目前的商店和还原器设置看起来像下面的东西:
const store = configureStore({
reducer: rootReducer
})
...
...
const rootReducer = combineReducers({
settings: SettingsReducer,
user: UserReducer,
})
我写了SettingsReducer
和UserReducer
,如下所示:
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
}
}
我想知道我的UserReducer
和SettingsReducer
是否会使用Immer
来更新状态?查看Redux文档时,它提到使用函数createSlice
和createReducer
将允许Immer使用,所以我想得到一些确认。
1条答案
按热度按时间du7egjpx1#
从Redux's documentation开始
Redux Toolkit的createReducer和createSlice会自动在内部使用Immer,让你使用“mutating”语法编写更简单的不可变更新逻辑。这有助于简化大多数Reducer实现。
如果不使用
createReducer
和createSlice
,就没有使用Immer。