目前我正在學習reactjs。我想將我以前的資料和即將到來的資料存盤在 usestate 中。有什么訣竅嗎?
例如: 首先我輸入“A”,然后輸入“B”。即使我在其中添加新資料,我也希望 A 和 B 存盤在使用狀態中
uj5u.com熱心網友回復:
我會為此使用物件狀態,然后您可以保留這兩種狀態。這是作業版本https://codesandbox.io/embed/frosty-bird-hg3izs?fontsize=14&hidenavigation=1&theme=dark
import { useState } from "react";
export default function App() {
const [obj, setObj] = useState({previous: '', current: ''})
const handleChange = (e) => {
setObj({previous: obj.current, current: e.target.value})
}
return (
<div className="App">
<input value={obj.current} onChange={(e) => handleChange(e)} />
<p>I am previous {obj.previous} </p>
<p>I am current {obj.current} </p>
</div>
);
}
uj5u.com熱心網友回復:
這很容易。你可以使用我的代碼片段。借助此功能,您還可以存盤以前的資料和即將到來的資料。
方法:1
const [arrayOfObjs, handleObjSelection] = useState([]);
// on a buttton for example
<button
onClick={selectedObj => handleObjSelection(
prevSelected => [...prevSelected, selectedObj],
))}
>
方法二:
const [ store, setStore] = useState([]);
.....
setStore(...store, upcomingData);
這里的 Upcoming Data 是您要在 useState 中添加的資料。它也可以存盤。喜歡 :
const [ store, setStore] = useState([]);
.....
setStore(...store, store);
快樂編碼!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/493081.html
標籤:javascript 反应 反应式 状态
