useRef 定义的 ref 在控制台可以打印但是页面不生效?

useRef 是一个 React Hook,它能让你引用一个不需要渲染的值。

点击计时器

点击按钮后在控制台可以打印但是页面不生效。

useRef 返回的值在函数组件中不会自动触发重新渲染,所以控制台可以显示变化而按钮上无法显示 ref.current的变化。

js 复制代码
import { useRef } from "react";

const ClinkNumber = () => {
  let ref = useRef(0);

  function handleClick() {
    ref.current = ref.current + 1;
    // 每次触发函数会跟随变动 +1
    console.log(ref.current);
  }

  return (
    <div>
      // ref.current 不会跟随变动
      <button onClick={handleClick}>点击计时器 {ref.current}</button>
    </div>
  );
};

export default ClinkNumber;

解决这个问题的方法是使用 React 的状态管理来保存并更新计数器的值。

const counter, setCounter = useState(0);

相关推荐
铁皮饭盒2 分钟前
Bun 都用 AI + Rust 重写了,咋不顺便把 Node.js 的 API 全兼容了?
前端·后端
不爱吃糖的程序媛2 分钟前
React Native 三方库 react-native-share 的 HarmonyOS 适配实战
react native·react.js·harmonyos
JieE2125 分钟前
LeetCode35. 搜索插入位置:二分查找的基础与细节
javascript·算法
menlong9996 分钟前
从Prompt狂欢到Agent轨道:20 万行代码真实项目的 AI 工作流实战
前端
huangdong_6 分钟前
拼多多商品图片视频批量采集:整店自动分类与高清原图
前端·javascript·音视频
胡萝卜术7 分钟前
从零开始掌握AI应用开发:我的大模型学习路线图(RAG/Agent/MCP/全栈实践)
前端·javascript·面试
Nightwatchman9 分钟前
深入理解内存管理
前端
风骏时光牛马10 分钟前
JSON常见踩坑问题与实战避坑案例代码
前端
YAwu1111 分钟前
从 TodoList 看 React + TypeScript 类型实践
前端·javascript
To_OC12 分钟前
折腾两天 HTTP 接口调用,终于把 fetch 和前后端分离从书本概念落地到实操了
javascript·node.js·全栈