reactjs - React 钩子(Hook) useState 钩子(Hook)

标签 reactjs react-hooks use-state

问题是,在网页中该值会递增并显示,但在控制台中它显示以前的值......我不明白什么?

当我单击按钮时,在网页中该值会增加,但在控制台输出中它仍然是以前的值:/

function App() {
  function handleClick()
  {
 
    setValue((prev)=>prev+1)
    console.log(value)

  }
  const [value,setValue]=useState(0);
  return (

    <div className="App" style={{fontSize:"100px"}}>
      {value}
      <button onClick={handleClick}>increment</button>
    </div>
  );
}

export default App;

最佳答案

这是因为 setValuse 是异步函数,状态中的值将在下一个渲染器中更新。

检查一下:

  function handleClick()
  {
 
    setValue((prev)=>prev+1)
    console.log(value)

  }
  const [value,setValue]=useState(0);
  
  useEffect(() => { console.log(value)}, [value])

关于reactjs - React 钩子(Hook) useState 钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70728313/

相关文章:

javascript - 添加依赖项时使用 useEffect() Hook 时如何避免无限循环?

reactjs - 如何使用 Hooks 过滤数组?

typescript - Typescript 中带有 useContext 的 useState

reactjs - 使用 ESlint 在 TypeScript React 项目中使用 SVG 的正确方法

reactjs - npm WARN @typescript-eslint/eslint-plugin@1.6.0 需要 typescript@* 的对等点

javascript - Babel 6 + React - 传递初始数据(浏览器内转译器)

javascript - 如何在 React js 的功能组件中创建 ref?

javascript - React Hooks 中根据父组件的不同变化来更改子组件的不同 props?

javascript - React hooks - 当状态更改为相同值时如何强制 useEffect 运行?

react-native - 保持旧状态的组件?