You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React报错:Objects are not valid as a React child(Date对象)求助

解决React中"Objects are not valid as a React child"错误

错误原因很明确:你在ExpenseItem组件里直接渲染了Date对象,React不允许把JavaScript对象作为子元素输出,必须先转换成字符串或格式化后的文本。

修改方案

在ExpenseItem组件中,把props.date转换成可读的日期字符串再渲染,推荐用toLocaleDateString()做本地化格式化,或者根据需求自定义格式。

修改后的ExpenseItem代码:

import React from "react";
import classes from "./ExpenseItem.module.css"

function ExpenseItem(props) {
  // 格式化日期为中文本地化格式,比如"2020年8月14日"
  const formattedDate = props.date.toLocaleDateString('zh-CN', {
    year: 'numeric',
    month: 'long',
    day: 'numeric'
  });

  return (
    <div className={classes["expense-item"]}>
      <div>{formattedDate}</div>
      <div className={classes["expense-item__description"]}>
        <h2>{props.title}</h2>
        <div className={classes["expense-item__price"]}>${props.amount.toFixed(2)}</div>
      </div>
    </div>
  );
}

export default ExpenseItem;

额外优化

给金额amount加上toFixed(2),确保显示两位小数,符合货币展示规范。

你的App组件逻辑没问题,问题完全出在ExpenseItem对date属性的处理上。

内容的提问来源于stack exchange,提问作者ishika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 14:48:17