11

我在以下位置定义了全局类型/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 这些类型确实被声明为全局的?还是我应该将它们添加到一些忽略列表中?

4

2 回答 2

21

事实证明(就像我想的那样)方法不是将全局类型添加到 eslint 忽略列表。实际上它都是由我已经安装的eslint-plugin-flowtype处理的,但我没有像这样扩展它:

.eslintrc

"extends": ["airbnb", "plugin:flowtype/recommended"],
"plugins": [
  "flowtype"
],
于 2017-07-15T16:11:32.313 回答
0

您可以使用文件中的注释、eslint 配置文件或 package.json 中的注释来定义全局变量。在eslint 文档中阅读如何做。如果您需要更多帮助,请发表评论。

于 2017-07-13T20:10:49.940 回答