打字稿的界面,使可选
问题描述:
我有一个这样的接口:打字稿的界面,使可选
export interface IDefaultAction extends Object {
type: string
(dispatch: Dispatch<IStateObject>, getState:() => IStateObject, extraArgument: any): any;
}
有什么办法,我可以在界面可选的第二行? (dispatch: Dispatch<IStateObject>, getState:() => IStateObject, extraArgument: any): any;
如果是这样,怎么样?
而且如果可能的话,请解释或点我到正确的文档这也解释了什么呢这个接口是指:
interface IA {
():any;
}
我只是想不通这句法
():something;
谢谢!
编辑:
我试图延长这样的:
export type ThunkAction<R, S, E> = (dispatch: Dispatch<S>, getState:() => S,
extraArgument: E) => R;
在我自己的接口:
export interface IDefaultAction {
type: string;
}
但可任选地 所以我能想到的唯一的事情,是修改原始(ThunkAction)并使其内部可选,但我不知道如何。
答
请解释或点我到正确的文档这也解释了什么呢这个接口意味着:
的IA
接口是一个功能界面。它定义了a "function type"。
interface IA {
(): any;
}
const exampleImplementation: IA =() => "";
(): any
定义函数类型的签名,其中包括函数的参数列表和返回类型。函数类型IA
不带参数并返回any
。
有没有什么办法让接口的第二行可选?
第二行是一个函数签名,表示接口定义了一个函数类型。其功能签名需要两个参数并返回any
。
export interface IDefaultAction extends Object {
type: string;
(
dispatch: Dispatch<IStateObject>, // paramater 1
getState:() => IStateObject, extraArgument: any // parameter 2
) : any; // return type
}
虽然接口支持optional properties,但接口不支持可选功能签名。