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);

相关推荐
U***498320 分钟前
React Native性能分析
javascript·react native·react.js
和和和23 分钟前
🗣️面试官: 那些常见的前端面试场景问题
前端·javascript·面试
lxp19974124 分钟前
vue笔记摘要-更新中
前端·vue.js·笔记
Oriental25 分钟前
URL解码踩坑记录
前端·后端
San3042 分钟前
ES6+ 新特性解析:让 JavaScript 开发更优雅高效
前端·javascript·ecmascript 6
Heo1 小时前
简单聊聊webpack摇树的原理
前端·javascript·面试
San301 小时前
深入理解 JavaScript 异步编程:从 Ajax 到 Promise
javascript·ajax·promise
少卿1 小时前
React 日历组件完全指南:从网格生成到农历转换
前端·react.js
程序员鱼皮1 小时前
Gemini 3.0 发布!
前端·ai编程·gemini
程序员鱼皮1 小时前
Gemini 3.0 炸裂发布!前端又死了???
前端·ai·程序员·互联网·代码