2017-08-27 15 views
3

を作りますか? (dispatch: Dispatch<IStateObject>, getState:() => IStateObject, extraArgument: any): any;活字体インターフェースは、私はこのようなインタフェースを持っているオプションの

もしそうなら、

も、可能な場合は、説明したり、このインターフェイスがどういう意味を説明し、右文書に私を指してください。

interface IA { 
():any; 
} 

私はちょうどこの構文

():something; 

感謝を把握することはできません!

編集:

私はこの拡張しようとしています:

export interface IDefaultAction { 
    type: string; 
} 

しかし、必要に応じて、 はそう私は考えることができる唯一の事は、次のとおりです。私自身のインタフェースに

export type ThunkAction<R, S, E> = (dispatch: Dispatch<S>, getState:() => S, 
            extraArgument: E) => R; 

を元の(ThunkAction)を修正し、その内部をすべてオプションにすることができますが、私はどのように見えません。

答えて

5

説明したり、このインターフェイスがどういう意味を説明し、右文書に私を指してください。

IAインタフェースは関数インタフェースです。それはa "function type"を定義します。

interface IA { 
    (): any; 
} 

const exampleImplementation: IA =() => ""; 

(): anyは、関数のパラメータリストと戻り型を含む機能タイプの署名を定義します。ファンクションタイプIAはパラメータを取らず、anyを返します。

インターフェイスに2行目を任意に設定できる方法はありますか。

2行目は関数シグネチャです。つまり、インターフェイスで関数型が定義されています。その関数シグネチャは2つのパラメータをとり、anyを返します。

export interface IDefaultAction extends Object { 
    type: string; 
    (
    dispatch: Dispatch<IStateObject>,     // paramater 1 
    getState:() => IStateObject, extraArgument: any // parameter 2 
) : any;            // return type 
} 

インターフェイスはoptional propertiesをサポートする一方で、インターフェースは、オプション機能の署名をサポートしていません。

関連する問題