我正在使用flux
。我用过combineReducers
-所有作品。但是在Redux中使用combineReducers
的目的是什么?
有人通过更新代码来帮助我理解吗?
这是我的代码:
import { combineReducers } from "redux";
import rootReducer from "./countAddReducer";
export default combineReducers({
value: rootReducer
});
答案 0 :(得分:1)
combineReducers
用于将所有化简器组合到一个存储对象中,以便可以在每个组件中使用。
在通量中,您将具有不同的Flux商店来管理不同的状态。在Redux中,只有一个商店,但是CombineReducers可帮助您在化简器之间保持相同的逻辑划分。
在您的示例中,
export default combineReducers({
value: rootReducer,
removes: countRemoveReducer
});
您有两个化简器rootReducer
和countRemoveReducer
,并且将这两个make在组件connect()方法中组合为mapStateToProps
,其中mapStateToProps
有一个状态对象包含这两个减速器。
现在,如果您想在两个化简器之间共享状态,那么我们就无法使用combineReducers
来实现它。为此,我们需要redux-thunk
。
我已经更新了您的代码https://codesandbox.io/s/lq87v947
答案 1 :(得分:0)
它将与特定减速器相对应的状态分离为它们自己的对象。
示例:
import { combineReducers } from "redux";
import userReducer from "./userReducer";
import blogPost from "./blogReducer";
export default combineReducers({
user: userReducer,
blogPost: blogReducer,
});
当您开始将操作分派到userReducer或blogReducer时,全局redux状态只是一个对象,但是该对象看起来像这样。
const reduxState = {
user: {
//state created by userReducer will go in here
},
blogPost: {
//state created by blogReducer will go in here
}
}