当前位置: 首页 > news >正文

React-useEffect的闭包陷阱(stale closure)

React-useEffect的闭包陷阱(stale closure)

import { useEffect, useState, useRef } from 'react';/***  c1 始终为1*  c2 为从1开始的递增最新值* c2 1* c1 1* c2 2* c1 1* c2 3* c1 1	*/
export default function EffectTest(){const [c, setC] = useState(1);const buttonRef = useRef(null);useEffect(() => {buttonRef.current.addEventListener('click', () => {setC((value) => {console.log('c2', value);return value + 1;});console.log('c1', c);});}, []);return (<div><button ref={buttonRef} >addC</button></div>);
}
``
http://www.dtcms.com/a/290386.html

相关文章:

  • MySQL的在线模式学习笔记
  • HarmonyOS之UIAbility简介
  • redis 如何优雅地进行键设计?
  • 【Spark征服之路-3.6-Spark-SQL核心编程(五)】
  • Spring @RequestBody注解详解与实践
  • oracle 数据库中,将几张表的数据按指定日期范围实时同步至同一个数据库的备份表中。
  • Oracle 数据库共享池与大池调优指南
  • 深度学习 -- 梯度计算及上下文控制
  • HTTP性能优化实战技术详解(2025)
  • day058-docker常见面试题与初识zabbix
  • SpringDoc 基本使用指南
  • 三维空间中的向量与坐标系变换:数学原理与C++实现
  • 安装pytorch(cpu版)
  • k8s知识点
  • WSL如何安装docker?
  • 低代码/无代码平台如何重塑开发生态
  • 141 个 LangChain4j Maven 组件分类解析、多场景实战攻略
  • 飞算科技:以原创技术为翼,赋能产业数字化转型
  • 前端,demo操作,增删改查,to do list小项目
  • 笼子在寻找一只鸟:解读生活的隐形陷阱
  • delphi disqlite3 操作sqlite
  • Go语言实战案例-简易日志记录器
  • C++基于libmodbus库实现modbus TCP/RTU通信
  • UE5多人MOBA+GAS 27、死亡被动(用于作为击杀奖励,爆金币和是增加经验)
  • RPA与AI:从自动化到智能化的企业转型之路
  • AWS Certified Cloud Practitioner 认证考试 测试题与解析
  • 用Java 代码实现一个简单的负载均衡逻辑
  • 电子数据取证领域的双轮驱动——手工分析 vs 自动化分析
  • Web开发:ABP框架12——中间件Middleware的创建和使用
  • 轨迹优化 | 基于边界中间值问题(BIVP)的路径平滑求解器(附C++/Python仿真)