问题标签 [airbnb-js-styleguide]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9096 浏览

javascript - 为什么 Airbnb 风格指南说不鼓励依赖函数名称推断?

这取自 Airbnb 反应风格指南。有人可以解释为什么“不鼓励依赖函数名称推断”吗?这只是风格问题吗?

0 投票
1 回答
9361 浏览

javascript - 如何将带有装饰器的 React 组件重写为纯函数?

我正在使用 airbnb eslint 设置,它具有强制将无状态反应组件重写为纯函数的规则。下面的组件触发了这个规则,这意味着下面的组件最好写成纯函数:

但是,当我将它重写为纯函数(见下文)时,我收到以下错误Leading decorators must be attached to a class declaration

那么我可以把它写成一个纯组件并仍然附加装饰器吗?或者这是airbnb linting规则中的一个错误,不可能同时满足这两个规则?

0 投票
1 回答
313 浏览

javascript - 为什么生成器不能很好地转换?

我们正在遵循airbnbeslint 指南,他们在其中说建议不要使用生成器

  • 11.2 暂时不要使用生成器。

    为什么?它们不能很好地转换为 ES5。

我似乎无法找到任何解释,解释它们的意思是翻译不好(不仅在本文档中,而且在 Google 上)。我们正在使用 babel,并且有 polyfills 可以做到这一点。有什么我想念的吗?

0 投票
1 回答
1335 浏览

javascript - JavaScript 函数调用中的尾随逗号

我正在尝试遵循Airbnb定义的 JS 代码样式。

函数调用参数的尾随逗号规则规定:

7.15 具有多行签名或调用的函数应该像本指南中的所有其他多行列表一样缩进:每个项目单独一行,最后一个项目尾随逗号。

但是当我执行以下操作时:

谷歌浏览器抱怨以下错误:

app.js:11 Uncaught SyntaxError: Unexpected token )

当我删除尾随逗号时,一切正常。这段代码在 Firefox 中运行良好,我很确定它在一周前从今天(11.04.2017)在 Chrome 中也能运行 - 因为从那以后我没有更改我的代码,我正在展示我正在开发的应用程序我的同事。

请注意,数组中的尾随逗号仍然可以正常工作:

有人可以解释这种行为或指出我可以在哪里寻找更多信息吗?

在 Ubuntu 16.04 上使用 Google Chrome(版本 57.0.2987.133(64 位))。

0 投票
5 回答
674 浏览

javascript - 使用解构或 forEach 减少 - 迭代和 Airbnb JavaScript 样式指南

我有一个对象:

遵循 Airbnb 的 JavaScript 样式指南,我想创建一个复制此对象的函数,将对象的所有键设置为蓝色。

我的两个选择似乎是:

1 使用reduce

2 使用forEach

(1)每次迭代的解构似乎很昂贵,但如果我要考虑no-param-reassign,我不能只在每次迭代时附加到累加器

但是,根据https://github.com/,应避免使用 forEach (2),而应使用 map()/every()/filter()/find()/findIndex()/reduce()/some() airbnb/javascript#iterators--不

那么,如果我要遵守 Airbnb 的 JavaScript 样式指南,那么哪种方法是首选方法——或者我还缺少另一种方法吗?

0 投票
5 回答
5794 浏览

unit-testing - 为什么浅渲染不能按预期工作?

我正在使用酶来测试我的create-react-app组件,但它不能直观地工作。我是否误解了浅渲染是什么?

.test.js

我希望它应该通过测试,因为它确实有 3 个Card组件TestUser

但它输出: TypeError: Cannot read property 'have' of undefined

这是如何运作的?

0 投票
2 回答
4370 浏览

javascript - 如何使用 Airbnb JavaScript 样式指南设置 Prettier

如何在 Prettier 中配置 Airbnb 的风格指南?我正在使用 VS 代码。提前致谢!

0 投票
2 回答
3301 浏览

javascript - Intellij IDEA - 如何在我的项目中设置 Airbnb 代码样式

我正在尝试在我的项目中实现Airbnb 代码样式,但我还不明白我应该如何将它添加到我的项目中。

我尝试了Settings -> Languages and Frameworks -> Javascript,但 Javascript 语言列表不包含 Airbnb 样式。

在此处输入图像描述

然后我尝试转到Setting -> Editor -> Code Style -> Javascript,但我再次看不到 Airbnb 样式的选项。

在此处输入图像描述

如何在我的项目中添加 Airbnb 样式?

0 投票
1 回答
641 浏览

javascript - Eslint - 箭头主体周围的意外块语句

我刚开始使用 Airbnb 的 eslint 配置——它看起来真的很棒。

但是,我收到以下错误,我不确定修复方法是什么 - 我猜这是由于该函数仅存在返回一个 val。

我玩过它——但我似乎无法让它“正确”。


谢谢

奥利

0 投票
1 回答
230 浏览

javascript - 在对象上使用地图意外使用逗号

我正在使用 AirBnb 样式指南,在第一行代码的末尾出现“意外使用逗号”错误:

我可以将其重写为此以消除错误:

https://eslint.org/docs/rules/no-sequences

我看到第一段代码的方式是 map 循环只运行一次,第二个运行两次的字段。

我可以确认上面地图的两个部分都在执行,而不仅仅是最后一个。还有什么我想念的吗?