【问题标题】:How to map ISO dates to Date objects如何将 ISO 日期映射到 Date 对象
【发布时间】:2021-01-29 22:37:54
【问题描述】:

我想映射一组 ISO 日期,我想我可以这样做:

import React from "react";
import "./styles.css";

export default function App() {
  const times = ["2021-01-26T17:00:00.000Z", "2021-01-26T17:00:00.000Z"];
  const formattedTimes = times.map((time) => new Date(time));
  return (
    <div className="App">
      {formattedTimes.map((time) => (
        <h2>{time}</h2>
      ))}
    </div>
  );
}

但这会导致错误:这里是沙盒 (https://codesandbox.io/s/headless-hill-x18ws?file=/src/App.js:0-346)

“错误:对象作为 React 子对象无效(发现时间:2021 年 1 月 27 日星期三 01:00:00 GMT+0800(中国标准时间))。如果你打算渲染一个 子集合,请改用数组。”

【问题讨论】:

  • 这段代码肯定不会产生那个错误。一定是以后你使用formattedTimes的地方。
  • 你是如何使用 formattedTimes 的?
  • @SlavaKnyazev - 错误指示 JSX 渲染器。
  • 我猜你想把它渲染到dom
  • 需要查看渲染代码。

标签: javascript reactjs


【解决方案1】:

您正在尝试遍历 formattedTimes 数组。但那是对象数组,所以需要调用toString方法。

<div>{
 formattedTimes.map(formatted => <span>{formatted.toString()}</span>)
}<div>

【讨论】:

    猜你喜欢
    • 2019-07-30
    • 2016-05-10
    • 1970-01-01
    • 2012-05-28
    • 2023-03-25
    • 2019-11-27
    • 2010-10-31
    • 2016-10-13
    • 2019-04-15
    相关资源
    最近更新 更多