使用带有 CRA/react-scripts 的可选链接 (?.)

using optional chaining(?.) with CRA/react-scripts

我正在将 eslint 集成到一个已有的项目中。这个项目充满了 optional chaining 语法。像下面这个:

const data = someEntity?.property;

语法适用于较新版本的 eslint (^7.5.0)。但是react-script不支持6.6.0.

以上版本的eslint

我也不能使用//eslint-disable-next-line 或类似的东西禁用它。它只是说解析错误如下:

目前,由于这个原因,我在整个项目中遇到解析错误。有没有办法可以禁用此错误并将 eslint 成功集成到我的 CRA 应用程序中?

您必须将 babel-eslint 添加到您的 eslint 配置文件中作为解析器,如下所示:

{
   "parser": "babel-eslint"
}

任何在 CRA 和 eslint 上苦苦挣扎的人,如果接受的答案不起作用,请更新您的 eslintrc 以包含 ecmaVersion。 2020及以上版本将消除此错误。

我正在使用 .eslintrc.js 例如

  parserOptions: {
    parser: 'babel-eslint',
    ecmaVersion: 2020,
    sourceType: 'module',
  },