我对以下使用 useRef 来存储先前的状态值感到困惑。本质上,它如何能够正确显示先前的值。由于 useEffect 依赖于“value”,我的理解是每次“value”发生变化(即当用户更新文本框时),它会将“prevValue.current”更新为新键入的值。
但这似乎不是正在发生的事情。在这种情况下,步骤顺序是什么?
function App() {
const [value, setValue] = useState("");
const prevValue = useRef('')
useEffect(() => {
prevValue.current = value;
}, [value]);
return (
<div>
<input
value={value}
onChange={e => setValue(e.target.value)}
/>
<div>
Curr Value: {value}
</div>
<div>
Prev Value: {prevValue.current}
</div>
</div>
);
}