📅  最后修改于: 2023-12-03 15:21:51.865000             🧑  作者: Mango
Redux是一个JavaScript库,用于管理应用程序的状态。在Redux中,状态存储在单一的对象中称为Store。Store的更新只能通过dispatch函数调用由Redux创建的Action。
combineReducers是Redux中的一个辅助函数,用于将多个reducers组合为一个单一的reducer函数。一个reducer函数是一个函数,它接收先前状态和一个action,并返回一个新的状态。combineReducers负责将多个reducer函数合并为一个,使得应用程序状况更加可读和可维护。
使用combineReducers时需要从'redux'库中导入,如下所示:
import { combineReducers } from 'redux';
combineReducers函数接收一个包含多个reducer函数的对象,返回一个新的reducer函数。
以下是使用combineReducers的示例代码:
import { combineReducers } from 'redux';
// 第一个reducer函数
function todos(state = [], action) {
switch (action.type) {
case 'ADD_TODO':
return state.concat([action.text]);
default:
return state;
}
}
// 第二个reducer函数
function visibilityFilter(state = 'SHOW_ALL', action) {
switch (action.type) {
case 'SET_VISIBILITY_FILTER':
return action.filter;
default:
return state;
}
}
// 将两个reducer函数组合起来
const todoApp = combineReducers({
todos,
visibilityFilter
});
export default todoApp;
以上示例代码使用两个reducer函数来分别处理todo应用程序中的'添加待办事项'和'设置可见性过滤器'这两个Action。
使用combineReducers将两个reducer函数组合成一个单一的reducer函数,使得应用程序的状态更加可读和可维护。