我在/flow-typed/redux.flow.js
中定义了全局类型:
declare type Action = {|
+type: string,
+payload: any,
|}
declare type State = {|
+ui: UI,
+user: User,
+team: Team,
+projects: Project[],
+profile: Profile,
|}
declare type UI = {|
+isSliderOpen: boolean,
+isModalVisible: boolean,
+modalAction: string,
+modalPayload: Object,
|}
...
我已将airbnb eslint配置添加到我的项目中,现在我得到了:
type Props = {
logout: () => Action, //error ESLint 'Action' is not defined.(no-undef)
user: UserDetails, //error ESLint 'UserDetails' is not defined.(no-undef)
}
它纯粹的eslint错误。一切都配置得当,流动本身就很开心。
如何告诉eslint这些类型确实被声明为全局?或者我应该将它们添加到某个忽略列表中?
答案 0 :(得分:12)
事实证明(就像我想的那样)不是将全局类型添加到eslint忽略列表的方式。实际上它是由eslint-plugin-flowtype处理的,我已经安装了但是我没有扩展它:
<强> .eslintrc 强>
"extends": ["airbnb", "plugin:flowtype/recommended"],
"plugins": [
"flowtype"
],
答案 1 :(得分:0)
您可以使用文件内部的注释,在eslint配置文件或package.json中定义全局变量。在eslint docs中阅读如何操作。如果您需要更多帮助,请发表评论。