使用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