Задать вопрос
vinyardrip
@vinyardrip

На что ругается eslint?

59f246361e3ba697376742.jpeg

"extends": [
"airbnb-base",
"prettier"
]
что не так со стрелочной функцией? перепробовал различные варики, руководствуясь этим https://github.com/leonidlebedev/javascript-airbnb - не могу понять
  • Вопрос задан
  • 1082 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@leonidl
Привет!

arrow-body-style — правило, которое описывает, как должно выглядеть тело функции у стрелочных функций. Оно может содержать привычный блок в фигурных скобках () => {...}, а может содержать выражение, которое неявно возвращается из функции () => ....

В руководстве от Airbnb выставлены такие параметры:
'arrow-body-style': ['error', 'as-needed', {
  requireReturnForObjectLiteral: false,
}],


Это означает, что ты обязан заменить тело функции с фигурными скобками на выражение. Несколько примеров из официальной документации eslint:
// неправильно
let foo = () => {
    return 0;
};
// правильно
let foo = () => 0;

// неправильно
let foo = () => {
    return {
       bar: {
            foo: 1,
            bar: 2,
        }
    };
};
// правильно
let foo = () => ({
    bar: {
        foo: 1,
        bar: 2,
    }
});

// здесь фигурные скобки необходимы
let foo = (retv, name) => {
    retv[name] = true;
    return retv;
};


Если говорить о твоём коде, то нужно опустить фигурные скобки и вернуть объект неявно.
notify.onError(err => ({
  title: 'Build Html task',
  message: err.message,
})


Правило на eslint: https://eslint.org/docs/rules/arrow-body-style
Параметры в конфигурации Airbnb: https://github.com/airbnb/javascript/blob/7ff63035...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы