【2022最新】React项目实战(React后台管理系统、TypeScript

这样封装也很方便的实现了,不清楚有没有弊端

let stateData = {};
let actionData = {};
let globModules = import.meta.globEager('./modules/*.ts');
Object.entries(globModules).forEach((item: any) => {
let mod = item[1].default;
stateData = { ...stateData, ...mod.state };
actionData = { ...actionData, ...mod.actions };
});
let defaultState = stateData;
// 创建数据仓库
let reducer = (state = defaultState, action: any) => {
let newState = JSON.parse(JSON.stringify(state));
if (actionData[action.type]) {
actionData[action.type](newState, action);
}
return newState;
};
export default reducer;