首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >React JS获取当前日期

React JS获取当前日期
EN

Stack Overflow用户
提问于 2017-05-03 01:56:59
回答 4查看 186.9K关注 0票数 43

我想在我的组件中输出当前日期。在控制台中,我的代码可以工作,但React控制台显示:

"bundle.js:14744未捕获RangeError:超过最大调用堆栈大小“

我的组件看起来像这样:

代码语言:javascript
复制
import React from 'react';
var FontAwesome = require('react-fontawesome');

export class Date extends React.Component {
    constructor() {
        super();

        var today = new Date(),
            date = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();

        this.state = {
            date: date
        };
    }

    render() {
        return (
            <div className='date'>
                <FontAwesome name='calendar' />{this.state.date}
            </div>
        );
    }
}

是啊,我知道我是个不错的初学者,但也许有人能帮我。我用谷歌搜索了几个小时。

太感谢了!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-03 02:02:57

您的问题是您将组件类命名为Date。当您在您的类中调用new Date()时,它不会创建您希望它创建的Date的实例(很可能是this Date)-它会尝试创建您的组件类的实例。然后构造函数将尝试创建另一个实例、另一个实例和另一个实例...直到您耗尽堆栈空间并得到您所看到的错误。

如果您想在类中使用Date,请尝试将您的类命名为不同的名称,例如CalendarDateComponent

这样做的原因是JavaScript如何处理名称作用域:每当您创建一个新命名的实体时,如果作用域中已经有一个具有该名称的实体,则该名称将停止引用以前的实体,而开始引用您的新实体。因此,如果在名为Date的类中使用名称Date,则名称Date将引用该类,而不是引用在类定义开始之前存在的任何名为Date的对象。

票数 50
EN

Stack Overflow用户

发布于 2020-02-04 12:03:34

您可以使用react-moment包

-> https://www.npmjs.com/package/react-moment

在文件中放入下一行:

代码语言:javascript
复制
import moment from "moment";

date_create: moment().format("DD-MM-YYYY hh:mm:ss")
票数 5
EN

Stack Overflow用户

发布于 2021-03-11 17:46:53

简单的解决方案是

代码语言:javascript
复制
{new Date().toLocaleString() + ''}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43744312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档