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

React自定义TextArea组件显示[object Object]问题如何修复

问题原因及修复方案

问题原因

React 函数组件的第一个入参永远是所有属性组成的props对象,你当前的组件定义没有对props做解构,直接把第一个参数(也就是整个props对象)赋值给了textarea的value属性,对象转为字符串展示时就会输出[object Object]。
具体对应关系如下:

  • 你定义的TextArea(name, value, onChange)中,name接收的是完整的props对象{name: "about", value: about, onChange: ...}
  • value和onChange两个参数实际收到的都是undefined
  • 最终textarea的value被赋值为props对象,转字符串后就是你看到的错误内容

修复方案

只要修改组件定义,对props参数做解构即可,修改后的代码如下:

import React from "react";

// 给参数加上大括号,从props中解构对应的属性
export default function TextArea({name, value, onChange}) {
  return (
    <div className="mt-1">
      <textarea
        rows={3}
        className="mt1 block w-full py-1.5 px-3 rounded-md border-2 border-orange-light"
        placeholder="Digite"
        value={value}
        onChange={onChange}
        name={name}
      />
    </div>
  );
}

如果你不想用解构写法,也可以先接收props参数再逐个取属性:

import React from "react";

export default function TextArea(props) {
  return (
    <div className="mt-1">
      <textarea
        rows={3}
        className="mt1 block w-full py-1.5 px-3 rounded-md border-2 border-orange-light"
        placeholder="Digite"
        value={props.value}
        onChange={props.onChange}
        name={props.name}
      />
    </div>
  );
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:12:02