小编Goo*_*der的帖子

我是 React 的新手,有人能告诉我为什么会这样吗...?

这是代码

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)

javascript reactjs

2
推荐指数
1
解决办法
76
查看次数

REACT - 更新状态,然后执行 console.log ,显示未更新的状态

点击按钮后控制台显示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(),控制台也会继续显示未更新的状态

为什么???

javascript reactjs

1
推荐指数
1
解决办法
1237
查看次数

标签 统计

javascript ×2

reactjs ×2