javascript - 尝试将当前月份编号转换为当前月份名称时出现 "Maximum call stack size exceeded"错误

标签 javascript reactjs date

<分区>

在项目中,我想这样写下当前的日期和月份:

Today is the 13th of September

获取当前日期时,没有错误。但是,当将当前月份数字转换为当前月份名称时,出现以下错误:

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

我在日期组件中的代码:

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 */
}

关于javascript - 尝试将当前月份编号转换为当前月份名称时出现 "Maximum call stack size exceeded"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73708837/

相关文章:

javascript - 当弹出窗口关闭时触发页面上的事件

javascript - 在 JavaScript 中,如果在两个字符串之间添加多个空格,为什么它们在代码执行期间会转换为单个空格?

javascript - 无法使用 "xmlbuilder"node.js 模块在 XML 中创建 CDATA 部分

javascript - 在react js中隐藏多个子页面的页脚

ios - 为什么 NSURLCreationDateKey 的值在 iOS 4.3 上为 nil 而在 iOS 5+ 上却没有?

javascript - 旧日期的 Intl.DateTimeFormat 时区问题

javascript - HighChart饼图不显示任何数据

reactjs - React Formik 中未选中复选框

reactjs - React CSS 模块的几个 CSS 文件

mysql - 仅当列值为今天的日期时才需要触发触发器