导入数据后,Moment自动设置区域设置

时间:2018-05-24 09:58:41

标签: javascript reactjs momentjs locale translation

我需要设计一种语言下拉列表,我们点击一​​种语言,它会根据所选国家/地区的格式更改该页面中的所有日期格式。

所以基本上我正在使用moment.js来使用我的React应用程序。我的想法是,当我选择一种语言时,它将调用函数moment.locale( language ),然后我在页面中使用的所有日期格式都将更改

例如,如果我想改为法语。这是我的预期输出

import moment from 'moment';
import 'moment/locale/fr';
console.log(moment.locale()); //expected output: en , actual output: fr 
moment.locale('fr');
console.log(moment.locale()); //expected output: fr , actual output: fr 

所以我的问题是,区域设置将更改为fr,而不需要moment.locale('fr')

我做了一些实验并意识到通过导入区域设置数据import 'moment/locale/fr';它会自动将区域设置设置为fr,而不需要moment.locale('fr')。我不想要的,因为我只想在点击一些按钮后设置它。但与此同时,我还需要为moment.js加载此区域设置数据才能正确翻译。 任何经历过这个?感谢

1 个答案:

答案 0 :(得分:0)

我认为你可以像这样导入和设置语言环境

时刻配置

import 'moment/locale/fr';
import 'moment/locale/en';
import moment from 'moment';

//set up default locale
moment.locale('en')

<强>的Component1

import React from 'react'
import moment from 'moment'

class Component1 extends React.Component {

    componentDidMount(){
      moment.locale('fr')
    }

}

告诉我这是否有点有效。

干杯!