在React中,如何使用country-data将国家​​/地区代码转换为国家/地区名称?

时间:2017-03-31 15:08:40

标签: reactjs npm webpack redux country-codes

使用country-data,我以为我可以做到

npm install --save country-data

然后在代码中:

import CountryData from "country-data";

并使用

CountryData.countries["TW"] 

获取国家/地区数据,

CountryData.countries["TW"].name

获取名称。但CountryData.countries["TW"]已获得undefined。怎么做到呢?是否有更好的替代方法来使用country-data

P.S。 npm页面和github page of country-data有一些关于如何在webpack中使用它的信息,我怀疑它需要与React一起使用。但我做了他们:

npm install json-loader --save-dev

添加到webpack.config.js:

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

它还没有用。

3 个答案:

答案 0 :(得分:1)

您似乎错误地使用了npm module

根据 docs ,您可以按照以下方式执行此操作

npm install --save country-data

并像

一样导入
import {countries} from 'country-data';

然后像

一样使用它
console.log(countries["TW"].name);

答案 1 :(得分:0)

如果您使用

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"}

答案 2 :(得分:0)

尝试国家/地区列表

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

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

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