我正在尝试在我的应用程序中使用新的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导出,其中包含DOM
,PropTypes
,version
,{的类型{1}}等我认为处理此问题的最佳方法是键入createClass
,如下所示:
MyContext
但是对于我的生活,我找不到任何有关这样做的信息。似乎没有const MyContext: Context = React.createContext()
的类型定义或Context
的返回值。有没有人遇到过这个问题,或者知道如何修复?
答案 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')