ESLint Предпочитать экспорт по умолчанию импорт / предпочесть по умолчанию экспорт

Привет, я изо всех сил пытаюсь понять / у меня эта ошибка исчезла с моим React Project.

Prefer default export import/prefer-default-export

Helpers.js ошибка указывает на:

export function getItems() {
  fetch('./data/data_arr.js')
  .then(results => results.json())
  .then(results => this.setState({ items: results }));
}

импорт функции:

import { getItems } from '../helpers/helpers';

componentDidMount() {
    getItems.call(this);
}

Я пытался безрезультатно:

"rules": {
     "import/prefer-default-export": off,
     ...
}

Нужно ли добавить "по умолчанию" в функцию? export default function getItems() {...}

Спасибо

1 ответ

"rules": {
     "import/prefer-default-export": "off",
     ...
}

Слово off должен быть процитирован.

Чтобы отключить это предупреждение, вы можете добавить комментарий

/* eslint-disable import/prefer-default-export */

в самый верх файла, в который вы экспортируете getItems.

Обратите внимание, что Eslint просто предупреждает вас о стиле: в вашем коде нет ничего "неправильного", если вы собираетесь экспортировать больше функций из этого же файла в будущем.

Тем не менее, часто лучше всего использовать export default когда вы экспортируете только один бит кода из файла. Таким образом, это более приятный синтаксис, когда вы импортируете код в другой файл.

пример

Если вы хотите экспортировать только один бит кода, вы можете использовать export default, С export default function getItems() {...} ваш импорт будет выглядеть import getItems from '../myFile';, Преимущество использования export default означает, что вы можете импортировать файл под любым именем. например import somethingElse from '../myFile' будет работать нормально тоже. Этот синтаксис точнее и понятнее, если файл служит только одной цели.

Однако, если вы хотите экспортировать несколько битов кода из файла, в который вы экспортируете getItems() (или может захотеть в будущем), тогда вы не можете использовать export default, Это означает, что вы должны импортировать, используя экспортированное имя. Преимущество здесь в том, что вы можете экспортировать, а затем импортировать несколько битов кода из одного файла. например export {getItems, getPeople, getPets} а также import {getItems, getPeople} from '../myFile';

"rules": {
     "import/prefer-default-export": 0,
     ...
}

используйте 0 для импорта / предпочтения-экспорта по умолчанию

Другие вопросы по тегам