// @flow
type MyType = Object;
class CustomView extends React.Component {
static childContextTypes = {
someProp: MyType
}
getChildContext() {
return {
someProp: this.props.someProp
};
}
}
我收到以下错误:
CustomView:子上下文
someProps
的类型规范是 无效;类型检查器函数必须返回null
或Error
但是还给了一个物体。你可能忘记了通过论证 类型检查器创建器(arrayOf,instanceOf,objectOf,oneOf, oneOfType和shape都需要参数。)
所以我被迫使用propTypes.object
代替Object
。
答案 0 :(得分:4)
不,您不能将Flow类型用作childContextTypes
中的类型。原因是在运行时检查childContextTypes
,并且Flow类型没有任何运行时表示。因此"类型" childContextTypes
中的值必须是值 - 特别是prop-types npm包提供的值。
在您的示例中使用MyType
实际上是语法错误:MyType
出现在对象属性值的位置,该值必须是值,而不是类型。