我有一个使用Flow进行静态类型检查的React项目;我有使用flow-typed
安装npm第三方库的libdefs。但是,有时这些类型不被识别。例如,下面是使用react-router-dom
NPM包使用类型时从相应的flow-typed/npm/react-router-dom_v4.x.x.js
一个阵营部件,具有identifier ... Could not resolve name
流错误:为什么流类型的libdefs类型不能一致地工作?
类型是在libdef虽然:
我正在这样做与其他flow-typed
类型,它工作。我证实,我已经安装在package.json
最新的磁带库和最新的相关flow-typed
libdef安装:
从https://github.com/flowtype/flow-typed/tree/master/definitions/npm/react-router-dom_v4.x.x
我也试着明确导入类型像这样的ES6模块:
import type { RouterHistory } from 'react-router-dom'`
但是这会导致出现RouterHistory not found in 'react-router-dom'
错误,即使您可以在上面的屏幕截图中看到它存在于flow-typed/npm/
的react-router-dom_v4.x.x.js
libdef中;我相信只有npm库里面有*.js.flow
个文件(其中react-router-dom
没有,但是在flow-typed
中定义),显式导入类型才能工作。
所以,问题是:为什么不RouterHistory
类型的工作,如果它是在相关flow-typed
libdef定义?
你绝对需要在你的问题结束时的导入线。一旦你这样做,你会得到什么错误? – loganfsmyth
为什么需要输入行?我在'flow-typed'中使用的所有其他libdefs都无需导入类型。就像我可以使用React的'SyntheticEvent'一样。即使如此,在'react-router-dom'中添加'import type {RouterHistory}会导致在'react-router-dom'错误中找不到'RouterHistory',即使'RouterHistory'类型在'react- router-dom_v4.xxjs“flow-typed”文件,如问题的屏幕截图所示。 – trevordmiller