Как перебрать несколько импортированных модулей из файла индекса - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть каталог с именем Polygons, в котором я создал файл index.js для экспорта всех файлов из каталога. Это выглядит примерно так:

export {default as europe} from './europe'
export {default as northAmerica} from './northAmerica'

europe Файл экспортирует переменную следующим образом:

export default europe;

И в файле, где я хотел бы использовать эти переменные, я импортирую их как this:

import * as regions from './Polygons'

Я бы хотел как-то итерировать сейчас по этим импортам, есть ли способ сделать это?

Я попытался сделать:

  for (const element of regions) {
    console.log(element);
  }

Но тогда я получаю:

Uncaught (in promise) TypeError: Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.

1 Ответ

1 голос
/ 26 апреля 2020

Это объект, поэтому for..of потерпит неудачу, но вы можете использовать Object.keys или Object.values, чтобы преобразовать его в массив и затем получить результаты.

Вот пример кода, который делать то же самое:

keys = Object.keys(React)
for (const key of keys) {
  console.log(key, React[key])
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

Надеюсь, это поможет. Возврат для любых сомнений / разъяснений.

...