【问题标题】:MomentJS with react languagesMomentJS 与反应语言
【发布时间】:2017-07-28 19:25:42
【问题描述】:

我正在将 Moment JS 与 React 一起使用,但我在更改语言时遇到了问题。当我输入moment.lang('pl')moment.locale('pl') 然后moment.format('MMMM') 它只显示英文月份。有什么办法可以解决吗?

代码

import React, {Component} from 'react';
import moment from 'moment';


class Time extends Component {
    constructor(props) {
        super(props);


        this.state = {}
    }


    render() {

        let march = moment();

        moment.lang('pl');

        console.log(march.format('MMMM'));

        return (
            <div>
                <div className="time">
                    <br/>
                </div>
            </div>
        )
    }
}
export default Time;

【问题讨论】:

    标签: javascript reactjs momentjs


    【解决方案1】:

    问题是你在得到时间之后设置语言。

    要修复它,只需像这样交换行:

    import 'moment/locale/pl'// add this line below your moment import
    
    moment.lang('pl');
    let march = moment();
    

    这也是我在回答你之前尝试的一个例子。

    import moment from 'moment';
    import 'moment/locale/pl'
    
    let a = moment();
    
    moment.locale('pl')
    let b = moment();
    
    console.log(a.format('MMMM')); //July
    console.log(b.format('MMMM')); //lipiec
    

    实际上,moment.lang 在 2.8.0 版之后已弃用(对于 Yarn 或 NPM,这似乎自我尝试的 2.10 以来已弃用)。如果您使用更高版本,请改用moment.locale

    更多信息在这里:http://momentjs.com/docs/#/i18n/

    【讨论】:

    • 控制台日志中仍然显示 7 月,但也显示错误 moment.min.js:1 Uncaught SyntaxError: Unexpected token &lt; 我在 2.18 版的 moment.js 上
    • @KonradUciechowski 那么你没有使用任何识别 JSX 的东西进行编译。
    • @KonradUciechowski 检查你的 jsx 转译器,比如 webpack 或其他东西。
    • @Natsathorn 我不知道我的应用程序出了什么问题,但在我的情况下,我只是复制粘贴您的解决方案,在我的情况下,它显示“七月”两次而不是“七月”“Lipiec”
    • @Natsathorn 我还创建了简单的 html 并在简单的 html 上测试了您的解决方案,它仍然向我显示“七月”两次而不是“七月”“Lipiec”
    【解决方案2】:

    只需添加到 Natsathorn 的答案,您就可以使用动态导入它

    import(`moment/locale/${navigator.language.toLocaleLowerCase()}`).then();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-10
      • 1970-01-01
      • 2021-09-29
      • 2018-09-25
      • 2018-07-09
      • 1970-01-01
      • 2018-01-03
      相关资源
      最近更新 更多