尝试将当前月份数字转换为当前月份名称时出现"Maximum call stack size exceeded"错误



在项目中,我想写下当前的日期和月份,如下所示:

Today is the 13th of September

获取当前日期时,没有错误。但是,当将当前月份编号转换为当前月份名称时,我会得到以下错误:

Date.jsx:4 Uncaught RangeError: Maximum call stack size exceeded

我在Date组件中的代码:

function Date() {
let date = new Date()
// console.log(dayDate.getDate())
const takeMonth = (month) => {
const monthName = date.setMonth(month - 1)
return monthName.toLocaleString("default", { month: "long" })
}
return <div> Date {takeMonth(3)}</div>
}

感谢所有的回答!

您当前正在通过定义自己的函数Date来重写Date函数,因此当您在函数内部调用new Date()时,实际上您正在调用自己的重写,这将创建一个无限循环。。。

您应该将自己的函数重命名为:

function getDate() {
let date = new Date()
/* rest of the code */
}

相关内容

  • 没有找到相关文章

最新更新