[英]Typescript: Extend interface with generic interface
假设我有界面:
interface IAddress {
addressProperty: any;
}
有没有办法写类似这样的接口:
interface ILoadable<T> {
loading: boolean;
}
所以我可以像这样使用它:
interface IStateSlice {
address: ILoadable<IAddress>;
}
地址将通过IAddress扩展为ILoadable。
我认为您可以使用交叉点类型 :
interface IAddress {
addressProperty: any;
}
interface ILoadable {
loading: boolean;
}
interface IStateSlice {
address: ILoadable & IAddress
}
然后使用它:
class StateSlice implements IStateSlice{
address = {
loading: false,
addressProperty: 'lol'
}
}
您还可以为此定义一个单独的类型:
type LoadableAddress = ILoadable & IAddress
interface IStateSlice {
address: LoadableAddress
}
或相同,使用接口扩展
interface LoadableAddress extends ILoadable, IAddress { }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.