redux中使用TS每次都要定义一遍类型?
Posted 万年打野易大师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redux中使用TS每次都要定义一遍类型?相关的知识,希望对你有一定的参考价值。
umi架构下:ts项目中redux定义module每次都要写一遍类型定义麻烦得很
typing文件夹下创建Redux.d.ts声明文件
import type { Effect, Subscription, ImmerReducer } from \'umi\';
declare module MyRedux {
// model
type Models<T> = {
namespace?: string;
state: T;
effects: Record<string, Effect>;
reducers: Record<string, ImmerReducer<T>>;
subscriptions?: Record<string, Subscription>;
};
}
// 导出成模块,再全局导出MyRedux,这样使用就不用再import type { Redux } from \'@/typings/redux\'; 了
export = MyRedux;
// 由于使用了import,此文件变成局部模块,其他地方使用只能import导入(import type { Redux } from \'@/typings/redux\';)才能使用
export as namespace MyRedux;
如何使用
models文件夹下创建staff.ts
type StaffSettingState = {
staff: Record<string, never>;
};
const StaffSettingsModel: MyRedux.Models<StaffSettingState> = {
namespace: \'staffSettingsModel\',
state: {
staff: {}
},
effects: {},
reducers: {},
};
export default StaffSettingsModel;
以上是关于redux中使用TS每次都要定义一遍类型?的主要内容,如果未能解决你的问题,请参考以下文章