В React, как преобразовать код страны в название страны, используя данные о стране?

Используя данные о стране, я думал, что смогу

npm install --save country-data

а затем в коде:

import CountryData from "country-data";

и использовать

CountryData.countries["TW"] 

чтобы получить данные о стране, и

CountryData.countries["TW"].name

чтобы получить имя. Но CountryData.countries["TW"] получает undefined уже. Как это можно сделать? Существуют ли лучшие альтернативы использованию country-data?

PS На страницах npm и github для данных о странах есть некоторая информация о том, как использовать их с веб-пакетом, что, как я подозреваю, необходимо для использования с React. Но я сделал их

npm install json-loader --save-dev

добавьте в webpack.config.js:

// ...
   loaders: [
      // other loaders
      { test: /\.json$/, loader: 'json' },
  ],
// ...

и это пока не работает.

2 ответа

Кажется, вы используете npm module неверно

Согласно документации вы можете сделать это следующим образом

npm install --save country-data

И импортировать это как

import {countries} from 'country-data';

а затем использовать его как

console.log(countries["TW"].name);

Попробуйте библиотеку страновых списков

   const { getCode, getName } = require('country-list');

   console.log(getCode('Belgium')); // BE

   console.log(getName('BE')); // Belgium

Если вы используете

var CountryData = require('country-data');
console.log(CountryData.countries['TW']);

Это работает выходы как таковые

{ alpha2: 'TW',
  alpha3: 'TWN',
  countryCallingCodes: [ '+886' ],
  currencies: [ 'TWD' ],
  emoji: '',
  ioc: 'TPE',
  languages: [ 'zho' ],
  name: 'Taiwan',
  status: 'assigned' }

Это может быть из-за того, как модуль экспортируется?

Это тоже работает

import CountryData from 'country-data'
console.log(JSON.stringify(CountryData.countries['TW']));

Выходы как таковые

{"alpha2":"TW","alpha3":"TWN","countryCallingCodes":["+886"],"currencies":["TWD"],"emoji":"","ioc":"TPE","languages":["zho"],"name":"Taiwan","status":"assigned"}
Другие вопросы по тегам