说,有一个外部模块导出了一个React组件。该模块没有流程声明。我想声明它以启用流类型检查。
例如,该模块的定义如下:
import React from 'react'
class External extends React.Component {
static propTypes = {
name: React.PropTypes.string.isRequired
}
render() {
return <div></div>
}
}
如果我写了我的自我(内部模块)Flowtype将能够检测到丢失
道具。但是,因为External
组件是从外部模块导出的。
Flow不进行类型检查。所以,我需要创建单独的类型声明
该模块。
我试过了:
// ./interfaces/the-external-module.js.flow
declare module "the-external-module" {
declare export var External: React.Component;
}
当然它不起作用,因为React不在范围内。那么,我怎么能
在单独的类型声明文件中将External
声明为React.Component
?
答案 0 :(得分:1)
根据部分official definitions,使用React$Component
(在来源here中定义); e.g。
declare module "the-external-module" {
declare export var External: React$Component;
}