这是代码
import React from "react"
let x = 0;
const App = () => {
x++;
console.log(x)
return(
<div>
<p>{x}</p>
</div>
)
}
export default App;
Run Code Online (Sandbox Code Playgroud)
控制台显示 1...但页面显示 2...
函数内部的代码如何执行两次(显然 x++ 运行两次)并且控制台只输出一次(1)
点击按钮后控制台显示0和页面1
function App() {
const [count, setCount] = useState(0);
const addOne = () => {
setCount(count + 1)
console.log(count)
}
return (
<>
<p>{count}</p>
<button onClick={addOne}>Add</button>
</>
);
}
Run Code Online (Sandbox Code Playgroud)
我认为是因为这setCount()是异步发生的,但即使我向 中添加 setTimeout console.log(),控制台也会继续显示未更新的状态
为什么???