2017-02-22 42 views
6

私は、次のエラーを得たこのようflowtypeを使用して、コンポーネントの反応コンテキストでプロップを定義する方法はありますか?

// @flow 
type MyType = Object; 
class CustomView extends React.Component { 
    static childContextTypes = { 
     someProp: MyType 
    } 
    getChildContext() { 
     return { 
      someProp: this.props.someProp 
     }; 
    } 
} 

contextで小道具を定義するflowtypeを使用して:

CustomView: type specification of child context someProps is invalid; the type checker function must return null or an Error but returned a object. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).

は、だから私は、 propTypes.objectの代わり Objectを使用するように強制しています。

答えて

4

いいえ、あなたはchildContextTypesで型としてフロータイプを使用することはできません。理由は、実行時にchildContextTypesがチェックされ、フロータイプにランタイム表現がないからです。したがって、childContextTypesの "種類"は値、具体的にはprop-types npmパッケージによって提供される値でなければなりません。

あなたの例でMyTypeの使用は、実際に構文エラーです:MyTypeが値、ないタイプでなければならないオブジェクトのプロパティ値の位置に表示されます。

関連する問題