我希望能够在一个或多个特定位置扩展基本接口。这个想法是能够为库 xstate 定义一个基本状态,可以将其扩展用于更具体的目的。
我有
interface Base {
id:string;
states:{
init:{},
loading:{},
idle:{
states:{
someBaseState:{}
}
}
}
}
我想知道打字稿是否可以在特定位置扩展基本接口。例如“空闲”属性
interface Page "extends Base Idle Property" {
id:string;
states:{
someOtherState:{}
}
}
所以结果是
{
id:string;
states:{
init:{},
loading:{},
idle:{
id:string;
states:{
someBaseState:{}
someOtherState:{}
}
}
}
}
我知道我可以像这样在 Typescript 中定义 Generic
interface Base<T> {
id: string;
states: {
idle: T
}
}
但我希望能够为状态“空闲”(例如)定义特定的基本属性,而不是每次都完全实现它。