【发布时间】:2020-01-02 00:03:53
【问题描述】:
我正在编写一个将由第 3 方使用的库。我选择 flowtype 作为打字系统(出于我的组织的特定原因)。该库公开了带注释的 React 组件。
该库使用 flowtype 进行注释。我还希望能够在其他带有流类型的代码中使用它。我在库中创建了index.flow.js 并将以下内容放入其中:
// @flow
import type MyComponent from './components/my-component'
export default MyComponent
// some other types follow
...
当我尝试在不同的代码库中使用该库时,类型“不起作用”。例如,如果我将无效的 prop 传递给组件,则类型系统不会抛出任何错误。我的代码库也是使用 flowtype 输入的。
我应该在库的 index.flow.js 文件中的组件中声明我的 React 吗?这看起来很尴尬,因为现在我必须在两个地方(组件本身和流文件)维护类型。
我认为流程默认情况下有效。由于我的 React 组件是类型化的并且库正在公开index.flow.js,它会识别出该组件具有特定的道具、状态等类型,但它没有。
【问题讨论】:
标签: javascript reactjs types flowtype