You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React函数组件未在UI使用state时点击仅触发两次渲染的原因

React函数组件修改未在UI中使用的state仅渲染2次的原因

你的组件只渲染2次的核心原因是React的状态更新机制:只有当state的新值与旧值严格不相等(===)时,才会触发组件重新渲染,和这个state有没有在UI中使用无关。

具体拆解你的代码执行流程:

  • 组件首次挂载:执行函数,打印rendered(这是第一次渲染)。
  • 第一次点击按钮:调用setTitle("Title My"),state从初始值"My Title"变为"Title My",值发生了变化,React触发组件重新渲染,打印rendered(这是第二次渲染)。
  • 后续多次点击按钮:依然调用setTitle("Title My"),但此时state的当前值已经是"Title My",新值和旧值完全相等,React会直接跳过这次状态更新,不会触发组件重新渲染,所以不会再打印rendered。

简单说,React不会做无意义的重复渲染——当你设置的state和当前状态完全一样时,不管这个state用不用在UI里,都不会触发渲染。

内容的提问来源于stack exchange,提问作者Prajval Gahine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:00:31