计算对象键

时间:2016-12-09 11:28:13

标签: eslint create-react-app

使用eslint-config-react-app中的最新规则,我们会收到以下linting错误:

{
  [componentWidth > VIEW_DESKTOP && componentWidth <= VIEW_LARGE]: MAX_TICKS_LARGE
}

error Parsing error: Unexpected token

问题似乎位于计算密钥中的<=

有谁知道导致此错误的原因是什么?代码应该是合法的。

更新:有趣的是,linting错误并不会出现在我的IDE中,只会出现在控制台中。

更新2 :似乎是eslint最新版本的问题,而不是与eslint-config-react-app相关的任何问题。使用eslint-config-react-app指定的eslint版本可以正常工作,而不是使用最新版本的eslint。

更新3

为了提供更好的问题上下文,这里存在此代码的函数:

const getTicksToDisplay = (componentWidth) => {
    const truthMap = {
        [true]: MIN_TICKS_ON_SCREEN,
        [componentWidth > VIEW_LARGE]: MAX_TICKS_XLARGE,
        [componentWidth > VIEW_DESKTOP && componentWidth <= VIEW_LARGE]: MAX_TICKS_LARGE,
        [componentWidth > VIEW_TABLET && componentWidth <= VIEW_DESKTOP]: MAX_TICKS_DESKTOP,
        [componentWidth > VIEW_MOBILE && componentWidth <= VIEW_TABLET]: MAX_TICKS_TABLET,
        [componentWidth <= VIEW_MOBILE]: MAX_TICKS_MOBILE
    };

    return truthMap[true];
};

更新4

在提出这个问题时,eslint的版本是3.11.1。该代码适用于eslint 3.8.1,自从提出这个问题后,eslint 3.12.0已经发布(我还没有能够测试)

更新5

经过进一步测试,看起来这可能是babel-eslint 7.1.1的一个问题。我提出了一个问题:https://github.com/babel/babel-eslint/issues/428

0 个答案:

没有答案