不知道为什么,我放弃了吃药,上次看病,大夫给我预约了5月6号的复诊,也不准备去了。不知道是不是一种自暴自弃,因为前几天,右边的后腰,又开始有规律的疼痛,还以为是肾结石又复发了,焦虑的情绪已经爆棚,于是停药了。

安定医院 - 特需的号 - 态度真的很好
在事件回调函数内,多次调用useState的updater函数,也只会引起组件的一次rerender(重新渲染),下方的代码里,点击按钮,只会在控制台里输出一次“组件被渲染”
const App = () => {
const [count, setCount] = useState(0);
console.log('组件被渲染')
const handleClick = () => {
setCount(1);
setCount(2);
setCount(3);
}
return (
<>
<h1>{count}</h1>
<button onClick={handleClick}>increase</button>
</>
);
}在useState的updater函数调用后,无法在下方代码,获取到最新的state值,说明操作是异步的。但是神奇的是,在下方可以通过传递给updater函数一个“函数参数”,可以获取到最新的state值,类似于:
const hanldeClick = () => {
setCount(1);
console.log('此处的count值不是1');
setCount((prev) => console.log('此处的count值是1'))
}