Момент автонастройки локали после импорта данных - PullRequest
0 голосов
/ 24 мая 2018

Мне нужно создать выпадающий список языков, в котором мы нажимаем на один язык, он изменит весь формат даты на этой странице в соответствии с форматом выбранной страны.

Так что в основном я использую 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 голосов
/ 24 мая 2018

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

Конфигурация момента

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

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

Компонент1

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

class Component1 extends React.Component {

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

}

Подскажите, если это несколько работоспособное решение.

Ура!

...