react 中 useState 中的 set 方法异步解决

使用 `useEffect` 监听状态的改变。

一、异步特性

在批量处理状态更新时,用以提高性能。

二、异步解决

使用`useEffect`来处理更新后的状态,`useEffect`钩子在组件渲染后执行,并且会在依赖项(第二个参数)发生变化时重新执行。可以利用这个特性来处理`useState`更新后的状态。

javascript 复制代码
import { useState, useEffect } from "react";

function MyComponent() {

  const [count, setCount] = useState(0);

  const handleClick = () => {

    setCount(count + 1);

    setCount(count + 2);

  };

  useEffect(() => {

    console.log("Count has been updated:", count);

  }, [count]);

  return (

    <div>

      <p>Count: {count}</p>

      <button onClick={handleClick}>Increment</button>

    </div>

  );

}
相关推荐
灵感__idea2 小时前
Hello 算法:“走一步看一步”的智慧
前端·javascript·算法
吴文周4 小时前
告别重复劳动:一套插件让 AI 替你写代码、修Bug、做测试、上生产
前端·后端·ai编程
Mh4 小时前
我决定写一个 3D 地球仪来记录下我要去的地方
前端·javascript·动效
yaoxin5211234 小时前
390. Java IO API - WatchDir 示例
java·前端·python
懒狗小前端4 小时前
做了一个 codex 的中文文档网站,做的不好可以随便喷
前端·后端
. . . . .6 小时前
ref、useRef 和 forwardRef
前端·javascript·react.js
energy_DT6 小时前
2026年海上钻井平台数字孪生平台:引领海洋能源数字化转型
前端
Eric_见嘉6 小时前
在职前端 Agent 配置分享
前端·后端·agent
柚子8166 小时前
break跳出语句块的神奇技巧
前端·javascript
ejinxian7 小时前
Rust GUI框架Azul与Electron、WebView2
前端·javascript·electron