#javascript #reactjs #eslint #lint #arrow-functions
#javascript #reactjs #eslint #lint #стрелка-функции
Вопрос:
Следующий код содержит это предупреждение в консоли:
Неожиданный оператор блока, окружающий тело стрелки; переместите возвращаемое значение сразу после =` arrow-body-style
blobToDataURL = blob => {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onerror = reject;
reader.onload = e => resolve(reader.result);
reader.readAsDataURL(blob);
});
};
Что это значит?
Ответ №1:
Функции стрелки могут принимать одну из двух форм:
() => return_value;
и
() => {
something;
something;
return return_value;
};
Предупреждение, которое вы получаете, заключается в том, что вы используете второй формат, даже если у вас есть только один оператор, который вы возвращаете, поэтому вы можете использовать первую форму.
Ответ №2:
Он хочет, чтобы вы использовали неявный возврат :
blobToDataURL = blob =>
new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onerror = reject;
reader.onload = e => resolve(reader.result);
reader.readAsDataURL(blob);
});