如何使用单独的声明文件从外部模块声明 React.Component 类型?
How to declare React.Component type from external module with separate declaration file?
比如说,有一个导出 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
?
根据一些 official definitions, use React$Component
(defined in the source here);例如
declare module "the-external-module" {
declare export var External: React$Component;
}
比如说,有一个导出 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
?
根据一些 official definitions, use React$Component
(defined in the source here);例如
declare module "the-external-module" {
declare export var External: React$Component;
}