【发布时间】:2020-09-07 17:02:03
【问题描述】:
我想用enum 类型的成员声明一个接口,如任何enum。这里的想法是比说any 更安全一些,但仍然对未来的enum 类型开放。
用例:
我正在为 redux 定义一个操作接口,我希望BaseAction 接口是这样的:
export interface BaseAction {
type: enum; //this gives an error
payload: any;
}
有没有办法声明成员的类型是any,只要它是enum?
这样,将来我可以这样定义:
export enum SpecificActionType {
SPECIFIC_1 = "SPECIFIC_ACTION_1",
SPECIFIC_2 = "SPECIFIC_ACTION_2",
}
export interface SpecificAction1 extends BaseAction {
type: SpecificActionType.SPECIFIC_1;
payload: {
id;
};
}
作为免责声明,我是 redux 和 typescript 的新手,但我正在寻找一种对开发人员友好的严格且面向未来的范例。如果你有更好的想法,我也愿意接受。
【问题讨论】:
标签: typescript redux enums