我是Redux Toolkit的新手,并遵循文档。我正在配置存储,我在快速概述部分看到了这种方法https://redux-toolkit.js.org/usage/usage-guide#simplifying-store-setup-with-configurestore
import { configureStore } from '@reduxjs/toolkit'
import rootReducer from './reducers'
const store = configureStore({
reducer: rootReducer,
})
export default store
但在快速入门文档中,我也看到了这种方法https://redux-toolkit.js.org/tutorials/quick-start
import { configureStore } from '@reduxjs/toolkit'
import counterReducer from '../features/counter/counterSlice'
export const store = configureStore({
reducer: {
counter: counterReducer,
},
})
假设我们导出slicename.reducers
,其中一个使用切片名称嵌套,而另一个直接指定为reducer,为什么这两个不同?
如果有多个减速器并将其组合,是否采用reducer: { counter: counterReducer, },
方法?
1条答案
按热度按时间pkmbmrz71#
configureStore
函数的reducer
选项可以是函数或对象。源代码configureStore.ts#L162:正如你所看到的,如果你为每个状态片传递一个充满reducer的对象。它将使用redux
combineReducers
来合并它们。rootReducer
将在最后传递到createStore
函数中,请参见configureStore.ts#L214。这就是他们之间的区别。更常见的是,我们使用第二种方法,将状态树划分为多个状态片。并将它们组合成根减速器。但是如果你的应用程序很简单,并且不需要维护复杂的状态,那么你就不需要分割状态树,一个根reducer就足够了。