错误:无法调用React.createContext,因为对象类型中缺少属性createContext

时间:2018-05-14 17:07:53

标签: javascript reactjs types flowtype

我正在尝试在我的应用程序中使用新的React Context API。我的应用程序也使用flow作为类型。只要我将// @flow添加到包含代码的文件的顶部:

const MyContext = React.createContext()

我收到错误告诉我:

Cannot call React.createContext because property createContext is missing in object type [1].

其中object type [1]指的是来自用于react的流类型文件的union type导出,其中包含DOMPropTypesversion,{的类型{1}}等我认为处理此问题的最佳方法是键入createClass,如下所示:

MyContext

但是对于我的生活,我找不到任何有关这样做的信息。似乎没有const MyContext: Context = React.createContext() 的类型定义或Context的返回值。有没有人遇到过这个问题,或者知道如何修复?

2 个答案:

答案 0 :(得分:1)

Updating flow-bin from 0.68.0 to 0.72.0 seems to have done the trick.

答案 1 :(得分:1)

React.createContext需要传递给它的参数的类型。在您的情况下,类型为null: const MyContext = React.createContext<null>()

这是带有字符串类型参数'test'的另一个示例: const MyContext = React.createContext<string>('test')