为什么第一次点击时状态没有改变?
const [building, setBuilding] = useState(0);
<Button
title="tester"
onPress={() => {
setBuilding(1);
console.log(Building);
}}/>
控制台日志在第一次点击时总是返回“0”,而不是预期的“1”。我该如何解决这个问题?
答案 0 :(得分:2)
由于状态更新是异步的,您可能会通过将 building 添加到 useEffect 依赖项来看到状态值更新,从而导致它在 building 值更改时触发。
const [building, setBuilding] = useState(0);
useEffect(() => {
console.log(building);
}, [building]);
return (
<button
title="tester"
onClick={() => {
setBuilding(1);
}}
>
test
</button>
);