1

我为我的表单创建了一个组件,它看起来像这样

import React from "react";

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>
  );
}

但是当我使用它时,它会停留在一个 [object object] 中,在这个 textarea 内

但是当我使用它时,它会停留在一个 [object object] 中,在这个 textarea 内

我以这种方式在我的表单上使用它

 <TextArea
    name="about"
    value={about}
    onChange={(e) => setAbout(e.target.value)} />

谁能告诉我应该怎么做才能解决这个问题?谢谢!

4

3 回答 3

4

这是正确的 TextArea 组件代码,请尝试此操作,它将解决您的问题 :)

import React from "react";

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>
  );
}

于 2021-09-01T19:19:27.983 回答
0

首先做console.log(value)并找出 object 中的内容,然后像下面一样使用它与您的 object 获得的任何属性名称。

 value={value.propertyname} 
于 2021-09-01T19:03:07.047 回答
0

您将什么参数传递给“值”?最有可能的是,传递给“值”的是一个对象,请先检查一下,这样我才能更好地帮助你。

更新

在声明 about 时,可能正在声明它以使其保持为对象。然后声明为:

const [about, setAbout] = useState("");
<TextArea
...,
value={about},
...
>
于 2021-09-01T19:03:51.943 回答