我还在学习反应,所以这可能只是因为我还不完全了解自己在做什么。 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>
。
答案 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);