当前位置:嗨网首页>书籍在线阅读

05-将reducer合并到store

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

11.1.3 将reducer合并到store

最后,需要确保将reducer与Redux store整合在一起。尽管已经创建了这些reducer,但它们目前没有任何联系。让我们重新看一下第10章创建的根reducer,看看如何向其添加新reduer。代码清单11-8展示了如何将我们创建的reducer添加到根reducer。这里务必要注意的是, combineReducers 会根据传入的reducer在store中创建键。对于代码清单11-8中的情况,store的状态会拥有 loadingposts 键,每个都由它们自己的reducer管理。这里使用了ES2015的简洁属性表示法,如果读者想的话,也可以把最终的键命名为不同名称。一定要注意,不要觉得函数名必须直接绑定到store的键上。

代码清单11-8 将新reducer添加到已存在的根reducer(src/reducers/root.js)

import { combineReducers } from 'redux';
import { error } from './error';  ⇽--- 导入reducer,以便可以将它们添加到根reducer中
import { loading } from './loading';
import { pagination } from './pagination';  ⇽--- 导入reducer,以便可以将它们添加到根reducer中
import { posts, postIds } from './posts';
import { user } from './user';
import { comments, commentIds } from './comments';  ⇽--- 导入reducer,以便可以将它们添加到根reducer中
const rootReducer = combineReducers({
    commentIds,  ⇽--- combineReducers会将每个reducer挂载到相应的键上,如想要,也可以改变键的名称
    comments,
    error,
    loading,
    pagination,  ⇽--- combineReducers会将每个reducer挂载到相应的键上,如想要,也可以改变键的名称
    postIds,
    posts,
    user  ⇽--- combineReducers会将每个reducer挂载到相应的键上,如想要,也可以改变键的名称
});
export default rootReducer;