与钩子反应时,如何附加到状态以创建历史记录

时间:2019-12-24 13:50:48

标签: javascript reactjs create-react-app react-bootstrap

我还在学习反应,所以这可能只是因为我还不完全了解自己在做什么。 formattedText字段只是用户通过单击按钮创建的临时文本。我想创建此字段的运行历史记录,因此创建了historyText。

function App() {
  const [formattedText, setFormattedText] = useState([]);
  const [historyText, setHistoryText] = useState([]);

在我的按钮单击操作中,我设置了formattedText:

setFormattedText(tempComp);

我想我可以将其附加到我的历史记录中:

setHistoryText(historyText+tempComp);

但是它不起作用,我得到的只是[object Object],[object Object],[object Object],[object Object],[object Object]作为我的输出。

**澄清:之所以看起来很奇怪,是因为我将html存储在字符串中并希望将其显示为html。这是我构建tempComp的方法:

tempComp.push(<p><b>{dResult[y].dp5}</b></p>);

不同的行采用不同的格式,因此我不能仅使用分割添加<p>

1 个答案:

答案 0 :(得分:-1)

之所以发生这种情况,是因为ou没有使用String值,而是使用Object,并且对象的默认字符串表示形式仅为[object Object]。我不确定,您想添加什么以了解更多here

setHistoryText(historyText+tempComp);

但也许尝试先console.log清除对象,然后看看您是否打算访问属性

//other logic
console.log(historyText) //do you mean to access a value on the object instead?
console.log(tempComp)
setHistoryText(historyText+tempComp);