function RemoteControl() {
const [temp, setTemp] = useState(26);
const [isOn, setIsOn] = useState(false);
const handlePowerPress = () => {
setIsOn(!isOn);
};
return (
<div>
<button onClick={handlePowerPress}>
{isOn ? '关机' : '开机'}
</button>
<button onClick={() => setTemp(t => t - 1)}>▼ 降温</button>
<button onClick={() => setTemp(t => t + 1)}>▲ 升温</button>
<p>温度: {temp}°C</p>
</div>
);
}
setTemp(t => t - 1)这种写法叫函数式更新。快速连按按钮时,这种写法能保证每次都基于最新值计算。