P粉4753151422023-09-03 10:59:11
你遇到的问题是你在传递的对象中使用了先前的状态,例如使用了扩展运算符"prev"。
你想要做的是在保存到状态的新对象中包含先前的状态,例如"prev"作为数组中的一个单独元素 - 如下所示。
我还为你提供了一个codesandbox https://codesandbox.io/s/romantic-solomon-l566yy?file=/src/App.js。
import "./styles.css"; import React, { useState } from "react"; const App = () => { const [entries, setEntries] = useState([ { date: "", text: "" } ]); const handleClick = () => { setEntries((prevEntry) => { return [...prevEntry, { date: "date", text: "test" }]; }); }; return ( <div> <button onClick={handleClick}>Click me!</button> </div> ); }; export default App;