2017-08-03 19 views
1

私はフラックスライブラリのソースコードを読んでいると、いくつかの場所で、私はこの表記法を参照してください。この奇妙な三元系の操作は何ですか?

?: ? 

これは三項演算子、または何か他の奇妙な使用がある場合、私はわからないが完全に。このようprops?: ?Propsのように、ここで何が起こっている

function createFunctional<Props, State, A, B>(
    viewFn: (props: State) => React.Element<State>, 
    getStores: (props?: ?Props, context?: any) => Array<FluxStore>, 
    calculateState: (prevState?: ?State, props?: ?Props, context?: any) => State, 
    options?: Options, 
): ReactClass<Props> { 
    /** Omitted Implementation Details **/ 
}; 

:この混乱の使用方法の

いくつかの良い例がline 245 of the FluxContainer.jsファイルで始まる関数宣言で見つけることができますか?

答えて

6

これはタイプ表記flowです。

param?: ?Type

表記はparamoptional parameterあり、そのTypemaybe typeであることを意味します。基本的には、Typeundefinednullを受け入れます。

関連する問題