前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库第 71 页
面试知识索引 · 分类、标签与搜索

5000 道程序员面试题,每题都有完整答案

程序员面试题库第 71 页,收录第 3501–3550 题,共 5000 道完整解析,覆盖前端、JavaScript、React、Vue、Node.js、AI Agent、网络、数据库与系统设计。

5,000完整问题
52技术分类
178检索标签
100索引分页
按分类建立知识面,再用标签和搜索定位问题

每页只渲染 50 道题。分类与标签分页可抓取,自由搜索结果不会制造无限 SEO 页面。

快速定位

分类、标签与关键词搜索

题库检索
技术分类52 个
全部分类5000AI Agent511浏览器301JavaScript285React281AI 开发262CSS240Node.js217TypeScript206Vue180前端工程化138React Native135
查看全部 52 个分类
操作系统135数据库134Docker95计算机网络94API 设计90Kubernetes90HTML89Redis89全栈开发88分布式系统88系统设计86HTTP85Next.js60Angular58Linux53Nuxt51PostgreSQL46可观测性46设计模式46小程序45身份与权限45无障碍44MongoDB43PWA43Web 安全43Git42前端测试42前端性能41WebAssembly40测试40AI 工程37SvelteKit37Go35前端数据管理30React Router29AI 全栈28Svelte27算法12Java10数据结构5前端手写题3
热门标签178 个
并发编程448缓存355性能优化340安全336异步编程292类型系统215构建工具211容器化184流处理177表单157SQL148HTTP141路由140离线应用121网络协议111
查看其余 163 个标签
测试109数据库事务95实时通信92Web 可访问性90动画79可观测性77Agent 记忆75向量检索66工具调用66LangGraph59Prompt56任务规划53排障与运维53数据库索引52浏览器自动化51Flexbox50值与类型50GraphQL49事务与并发49构建与镜像49DNS 与 TLS48工程协作与交付48AI 评测47CSS Grid47Express 服务47MCP47副作用与同步47向量与嵌入47文件与多媒体47流与二进制47传输与协议46列表与性能46可维护代码46响应式原理46容器运行46指标日志追踪46数据建模与运维46文件与 I/O46表单与输入46MCP 协议45RAG45Vite 与模块构建45Webpack45内存与虚拟化45原生集成45多 Agent45工作负载与发布45应用与性能45数据处理45模块与工具链45组件与模板45缓存与数据结构45网络与运维45评估与调试45身份认证与授权45运行时与开发45Web 系统方案44一致性与容错44侦听与生命周期44分布式使用44原生组件与交互44可访问交互44消息与异步处理44渲染与调度44索引与执行计划44组件设计44缓存与代理44进程与并发44层叠与选择器43攻击面与防御43文档数据库43权限与安全43离线与渐进增强43语义与文档43请求与通信 API43Worker 与线程协作42事件系统42存储与离线数据42服务架构42服务端与流式渲染42服务端工程42泛型设计42版本控制42类型收窄42类型运算42组件与端到端42编码与执行42进程与线程42DOM 与文档操作41Flex 布局41HTTP 语义41NestJS 架构41REST 与接口契约41SQL 查询41加载与交互性能41动画与视觉41类型工程41记忆与状态41运行时与调度41Agent 架构40WebAssembly 集成40单元与集成测试40多 Agent 协作40工作流编排40模块与语言机制40浏览器与 UI 自动化40生产运行40函数与作用域39响应式设计39性能与并发39类型系统基础39Grid 布局38数组与集合38盒模型与排版38Hooks 与复用37应用开发37推理与成本37状态共享37知识库数据37模型与应用评测36对象与原型35状态与渲染35语言与并发35异步与 Promise34Effect32RAG 检索31React 性能31响应式与性能31微调与数据31TanStack Query30全栈边界30数据与缓存30大模型基础29路由与数据流29事件循环28流式交互28提示与上下文设计27数据与服务端27组件与依赖注入27组件与响应式27多模态应用24应用与渲染24Hydration22沙箱安全22状态管理18算法18CI/CD13语言与运行时10React Server Components6搜索与排序4实用函数实现3链表栈队列3图算法2字符串算法2树与遍历2索引与高级结构2Kubernetes1作用域与函数1动态规划1异步与浏览器1手写与交互性能1数组与双指针1相等比较1
当前页71 / 100

正在显示第 3501–3550 题

React50
第 71 页

本页面试问题

按稳定语义路径排序

  1. 3501
    React副作用与同步

    React Effect 中立即 setState 会怎样触发一次同步重渲染,为什么可能让浏览器来不及绘制中间帧?

    围绕“React Effect 中立即 setState 会怎样触发一次同步重渲染,为什么可能让浏览器来不及绘制中间帧”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明提交后 Effect 再更新可能造成双提交。

    核心关键词React Effect setState 同步重渲染 绘制 中间帧
    #副作用与同步
  2. 3502
    React副作用与同步

    React 18 StrictMode 开发模式下,如何让第三方实例在重复挂载检查中不泄漏也不被销毁后误用?

    围绕“React 18 StrictMode 开发模式下,如何让第三方实例在重复挂载检查中不泄漏也不被销毁后误用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 setup 创建/ cleanup 销毁成对且 cleanup 后旧实例不可再用。

    核心关键词React 18 StrictMode 第三方实例 销毁 泄漏
    #副作用与同步
  3. 3503
    React副作用与同步

    React 18 的 useInsertionEffect 面向 CSS-in-JS 注入样式解决了什么时序问题,普通业务代码为什么不该用它?

    围绕“React 18 的 useInsertionEffect 面向 CSS-in-JS 注入样式解决了什么时序问题,普”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须定位其在 DOM 变更前注入样式的库级用途。

    核心关键词React 18 useInsertionEffect CSS-in-JS 样式注入
    #副作用与同步#安全
  4. 3504
    React副作用与同步

    React 中需要读取 DOM 尺寸并立刻影响下一次绘制时,为什么选 useLayoutEffect 而不是 useEffect?

    围绕“React 中需要读取 DOM 尺寸并立刻影响下一次绘制时,为什么选 useLayoutEffect 而不是 use”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明它在浏览器绘制前同步运行可避免可见跳动。

    核心关键词React useLayoutEffect DOM 测量 闪烁 useEffect
    #副作用与同步#Effect
  5. 3505
    React副作用与同步

    React 服务端渲染中使用 useLayoutEffect 触发警告时,应该怎样决定改用 useEffect 还是条件渲染?

    围绕“React 服务端渲染中使用 useLayoutEffect 触发警告时,应该怎样决定改用 useEffect 还是”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明该布局效果是否影响首屏可见布局。

    核心关键词React useLayoutEffect SSR 警告 useEffect fallback
    #副作用与同步#Effect
  6. 3506
    React副作用与同步

    React 18 订阅外部 store 时,为什么 useSyncExternalStore 常优于手写 useEffect + setState?

    围绕“React 18 订阅外部 store 时,为什么 useSyncExternalStore 常优于手写 useEf”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明并发下获取一致快照与内建订阅管理。

    核心关键词React 18 useSyncExternalStore 外部 store useEffect
    #副作用与同步#Effect#并发编程
  7. 3507
    React副作用与同步

    React 聊天室组件切换 roomId 时,WebSocket Effect 应如何在依赖变化中避免收到上个房间消息?

    围绕“React 聊天室组件切换 roomId 时,WebSocket Effect 应如何在依赖变化中避免收到上个房间消”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 roomId 是响应式依赖并 cleanup 断开旧连接。

    核心关键词React WebSocket Effect roomId 依赖 清理 重连
    #副作用与同步#实时通信
  8. 3508
    React副作用与同步

    React 所说的“用 Effect 与外部系统同步”具体是什么意思?

    从地图视角、浏览器监听与文档订阅解释外部系统的含义,区分 JSX 纯渲染、用户命令和持续同步,并说明资源初始化、更新、清理与服务端输出的边界。

    核心关键词React useEffect 与外部系统同步
    #副作用与同步#Effect
  9. 3509
    React副作用与同步

    在不使用实验性 API 的稳定 React 版本里,如何把“状态变化后通知”与“用户主动提交”分开实现?

    围绕“在不使用实验性 API 的稳定 React 版本里,如何把“状态变化后通知”与“用户主动提交”分开实现”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给稳定模式:事件处理直接调用、Effect 只同步可观测状态。

    核心关键词React 稳定版 分离事件逻辑与 Effect 不用实验 API
    #副作用与同步#可观测性
  10. 3510
    ReactHooks 与复用

    React 回调 ref 适合什么场景,条件 DOM 出现后为什么不一定需要 Effect?

    用条件输入框解释回调 ref 如何跟随节点连接与移除,比较对象 ref 与挂载 Effect,说明回调身份、动态节点和清理边界。

    核心关键词React callback ref 条件 DOM 挂载处理
    #Hooks 与复用
  11. 3511
    ReactHooks 与复用

    用 useReducer 加 Context 复用状态逻辑时,为什么常把 state 和 dispatch 拆成两个 Context?

    围绕“用 useReducer 加 Context 复用状态逻辑时,为什么常把 state 和 dispatch 拆成两个”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确只消费 dispatch 的组件可跳过 state 变化引起的重渲染这一优化动机。

    核心关键词React Context 拆分 state dispatch 性能 复用
    #Hooks 与复用#性能优化
  12. 3512
    ReactHooks 与复用

    自定义 Hook 内部注册的事件监听或定时器,清理责任应该由谁承担?

    围绕“自定义 Hook 内部注册的事件监听或定时器,清理责任应该由谁承担”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 Hook 内部 effect 必须返回对称的清理函数、而不是要求调用方手动清理的设计原则。

    核心关键词React 自定义 Hook 清理函数 责任
    #Hooks 与复用
  13. 3513
    ReactHooks 与复用

    把 useEffect 逻辑抽进自定义 Hook 后,Hook 参数变化时如何保证 effect 正确重新执行?

    围绕“把 useEffect 逻辑抽进自定义 Hook 后,Hook 参数变化时如何保证 effect 正确重新执行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 Hook 内部 effect 依赖数组必须覆盖所有外部传入值、exhaustive-deps 会跨 Hook 边界检查调用方传。

    核心关键词React 自定义 Hook 依赖穿透 effect 参数
    #Hooks 与复用#Effect
  14. 3514
    ReactHooks 与复用

    为什么 React 自定义 Hook 的函数名必须以 use 开头?

    围绕“为什么 React 自定义 Hook 的函数名必须以 use 开头”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确该命名是 lint 规则识别 Hook 并施加检查的唯一依据、违反会导致违规调用被漏检。

    核心关键词React 自定义 Hook 命名 use 开头 原因
    #Hooks 与复用
  15. 3515
    ReactHooks 与复用

    设计自定义 Hook 的返回值时,应该返回数组元组还是对象?

    围绕“设计自定义 Hook 的返回值时,应该返回数组元组还是对象”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须从调用方命名灵活性、后续字段可扩展性、解构成本三个维度给出权衡。

    核心关键词React 自定义 Hook 返回值 数组 对象
    #Hooks 与复用
  16. 3516
    ReactHooks 与复用

    自定义 Hook 返回的回调函数在每次渲染都变新引用,导致调用方 effect 反复执行,该如何处理?

    围绕“自定义 Hook 返回的回调函数在每次渲染都变新引用,导致调用方 effect 反复执行,该如何处理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确在 Hook 内部用 useCallback 或重构成更稳定的契约来收敛函数身份。

    核心关键词React 自定义 Hook useCallback 返回函数 稳定引用
    #Hooks 与复用#React 性能
  17. 3517
    ReactHooks 与复用

    两个组件同时调用同一个自定义 Hook,它们内部的状态会互相共享吗?

    围绕“两个组件同时调用同一个自定义 Hook,它们内部的状态会互相共享吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 Hook 复用的是逻辑而非状态、每次调用拥有独立 state,并与模块级单例变量做区分。

    核心关键词React 自定义 Hook 状态共享 独立
    #Hooks 与复用
  18. 3518
    ReactHooks 与复用

    复用一段包含状态与副作用的逻辑时,应该抽成自定义 Hook 还是抽成组件?

    围绕“复用一段包含状态与副作用的逻辑时,应该抽成自定义 Hook 还是抽成组件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用“是否产生渲染输出”作为划分标准:纯逻辑抽 Hook、带 UI 抽组件。

    核心关键词React 自定义 Hook 组件 复用 取舍
    #Hooks 与复用
  19. 3519
    ReactHooks 与复用

    React 的自定义 Hook 与普通的 JavaScript 工具函数有什么本质区别?

    围绕“React 的自定义 Hook 与普通的 JavaScript 工具函数有什么本质区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确只有自定义 Hook 内部能调用其他 Hook、从而接入组件状态与生命周期。

    核心关键词React 自定义 Hook 工具函数 区别
    #Hooks 与复用
  20. 3520
    ReactHooks 与复用

    只想响应某个交互而不因读取最新 state 让整个 useEffect 反复重跑,React 提供了什么思路?

    围绕“只想响应某个交互而不因读取最新 state 让整个 useEffect 反复重跑,React 提供了什么思路”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确把非响应式的“事件型”逻辑从响应式 effect 中分离的思路及 useEffectEvent 尚属实验 API 的现状。

    核心关键词React Effect Event useEffectEvent 实验性
    #Hooks 与复用#Effect
  21. 3521
    ReactHooks 与复用

    在 React useEffect 里启动的定时器总是读到旧的 state,这是为什么,有哪些修复方式?

    围绕“在 React useEffect 里启动的定时器总是读到旧的 state,这是为什么,有哪些修复方式”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须诊断 effect 回调捕获了当次渲染的值快照,并给出补依赖重建、函数式更新、ref 中转三类修复,不讲闭包概念本身。

    核心关键词React useEffect 定时器 读到旧 state 修复
    #Hooks 与复用#Effect
  22. 3522
    ReactHooks 与复用

    在 React 的 useEffect 中订阅聊天服务或 WebSocket 时,为什么清理函数必不可少?

    围绕“在 React 的 useEffect 中订阅聊天服务或 WebSocket 时,为什么清理函数必不可少”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确依赖变化时 React 先用旧值执行清理再重新执行 effect、缺失清理会造成连接泄漏与重复消息。

    核心关键词React useEffect 订阅 清理函数 重复连接
    #Hooks 与复用#Effect#实时通信
  23. 3523
    ReactHooks 与复用

    eslint-plugin-react-hooks 能发现哪些错误,规则应该怎么配置?

    说明 rules-of-hooks 与 exhaustive-deps 分别检查什么,给出 ESLint 9 的基础 flat config,区分插件推荐预设中的额外诊断,并介绍条件 Hook、遗漏依赖和自定义 Effect Hook 的修复思路。

    核心关键词eslint-plugin-react-hooks exhaustive-deps 规则
    #Hooks 与复用#Effect
  24. 3524
    ReactHooks 与复用

    一段响应式逻辑应该写在 React 事件处理函数里还是 useEffect 里,判断标准是什么?

    围绕“一段响应式逻辑应该写在 React 事件处理函数里还是 useEffect 里,判断标准是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须用“是否由用户某次具体交互触发、还是需要在渲染后与外部系统保持同步”做判断。

    核心关键词React 事件处理 useEffect 如何选择
    #Hooks 与复用#Effect
  25. 3525
    ReactHooks 与复用

    在 React 18 中,如何把函数组件内部的 DOM 节点暴露给父组件调用 focus 等方法?

    围绕“在 React 18 中,如何把函数组件内部的 DOM 节点暴露给父组件调用 focus 等方法”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 forwardRef 包裹组件并转发 ref 到内部节点的写法及其必要性。

    核心关键词React forwardRef 父组件 访问子组件 DOM
    #Hooks 与复用
  26. 3526
    ReactHooks 与复用

    设计 useReducer 的 action 时,计算结果应该放进 payload 还是交给 reducer 自己算?

    围绕“设计 useReducer 的 action 时,计算结果应该放进 payload 还是交给 reducer 自己算”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确让 reducer 基于当前 state 自行计算以保证正确性与可测试性的原则及例外情形。

    核心关键词React reducer action payload 设计
    #Hooks 与复用#测试
  27. 3527
    ReactHooks 与复用

    为什么 React 的 reducer 必须是纯函数,不能在里面发请求、写 ref 或调用定时器?

    围绕“为什么 React 的 reducer 必须是纯函数,不能在里面发请求、写 ref 或调用定时器”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 reducer 可能在渲染期被重复调用、副作用应放在事件处理函数中的职责划分。

    核心关键词React reducer 纯函数 副作用 原因
    #Hooks 与复用
  28. 3528
    ReactHooks 与复用

    React 19 中函数组件接收 ref 的方式发生了什么变化,与 forwardRef 有何差异?

    围绕“React 19 中函数组件接收 ref 的方式发生了什么变化,与 forwardRef 有何差异”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 ref 成为普通 prop 后函数组件可直接解构接收的写法及迁移建议。

    核心关键词React 19 ref as prop forwardRef 变化
    #Hooks 与复用
  29. 3529
    ReactHooks 与复用

    React 19 的 ref 回调清理函数怎样工作,为什么内联回调也会触发清理?

    用 DOM 原生事件订阅解释 React 19 ref cleanup 的资源配对,说明节点移除、回调身份变化、Strict Mode 检查及旧版 null 清理的迁移。

    核心关键词React 19 ref callback cleanup 清理函数
    #Hooks 与复用
  30. 3530
    ReactHooks 与复用

    React 为什么不应在渲染时读写 ref.current,惰性初始化为什么是例外?

    区分渲染阶段的可变引用读写与可预测初始化,用点击缓存示例说明事件读写、state 展示和跨渲染容器,并解释资源创建的限制。

    核心关键词React ref current 渲染读写纯度惰性初始化
    #Hooks 与复用#缓存#容器化
  31. 3531
    ReactHooks 与复用

    把 ref.current 当作 useEffect 的依赖,或者直接在 JSX 中渲染 ref.current,会有什么问题?

    围绕“把 ref.current 当作 useEffect 的依赖,或者直接在 JSX 中渲染 ref.current,会”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 ref 变化不触发渲染导致依赖失效与界面不更新。

    核心关键词React ref 非响应式 effect 依赖 ref.current
    #Hooks 与复用#Effect
  32. 3532
    ReactHooks 与复用

    React 用 ref 保存前一个值时,“上一次渲染”和“上一次提交”有什么区别?

    通过状态变化记录器解释 ref 保存的历史究竟属于哪个阶段,避免在 render 中读写可变历史,说明首次值、相同值、批处理和可见历史状态的设计。

    核心关键词React useRef 保存前一个已提交值
    #Hooks 与复用
  33. 3533
    ReactHooks 与复用

    React 中 useRef 和 useState 都能跨渲染保存数据,二者的本质区别和适用场景是什么?

    useRef 和 useState 都能跨渲染保留数据,为什么只有 state 更新会触发界面变化?用计时器句柄、搜索输入和异步闭包说明选择依据、快照语义及渲染阶段限制。

    核心关键词React useRef 和 useState 区别
    #Hooks 与复用#异步编程
  34. 3534
    ReactHooks 与复用

    为什么 React 的 Hooks 必须在每次渲染中以完全相同的顺序调用,不能放进条件或循环里?

    React 如何关联多次渲染中的 useState、useRef 与 Effect?解释条件调用、循环和提前返回造成的顺序变化,展示把条件放进 Effect 的写法,并说明 React use API 的例外。

    核心关键词React Hooks 为什么不能条件调用
    #Hooks 与复用
  35. 3535
    ReactHooks 与复用

    React 18 的 Strict Mode 下 useEffect 在开发环境为什么会执行两次,怎样写才是安全的?

    围绕“React 18 的 Strict Mode 下 useEffect 在开发环境为什么会执行两次,怎样写才是安全的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确挂载-卸载-重新挂载是刻意暴露缺失清理的检测手段、effect 必须写成可重入的对称结构。

    核心关键词React 18 Strict Mode useEffect 执行两次
    #Hooks 与复用#Effect
  36. 3536
    ReactHooks 与复用

    React 的 useImperativeHandle 适合在什么情况下用来约束父组件对子组件的访问?

    围绕“React 的 useImperativeHandle 适合在什么情况下用来约束父组件对子组件的访问”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确只暴露少量命令式方法(如 focus、scrollTo)而非整颗 DOM 节点的封装动机。

    核心关键词React useImperativeHandle 暴露 命令式 API
    #Hooks 与复用
  37. 3537
    ReactHooks 与复用

    React 的 useLayoutEffect 与 useEffect 执行时机有什么差异,这决定了怎样的使用边界?

    围绕“React 的 useLayoutEffect 与 useEffect 执行时机有什么差异,这决定了怎样的使用边界”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确绘制前同步执行可读写布局避免视觉闪烁、以及阻塞渲染与 SSR 警告的代价。

    核心关键词React useLayoutEffect useEffect 时机 闪烁
    #Hooks 与复用#Effect
  38. 3538
    ReactHooks 与复用

    React 的 useMemo 能解决哪两类问题,为什么不能把它当作结果一定会被缓存的语义保证?

    围绕“React 的 useMemo 能解决哪两类问题,为什么不能把它当作结果一定会被缓存的语义保证”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确跳过昂贵计算与保持引用稳定配合 memo 两类用途、以及 React 可能丢弃缓存需按性能优化而非正确性依赖使用。

    核心关键词React useMemo 用途 缓存 语义保证
    #Hooks 与复用#React 性能#缓存
  39. 3539
    ReactHooks 与复用

    useReducer 配合 Context 能否替代 Redux 做全局状态管理,适用边界在哪里?

    围绕“useReducer 配合 Context 能否替代 Redux 做全局状态管理,适用边界在哪里”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须从订阅粒度导致的全树渲染、中间件与调试工具链缺失说明适用边界。

    核心关键词React useReducer Context Redux 替代 边界
    #Hooks 与复用#状态管理
  40. 3540
    ReactHooks 与复用

    useReducer 返回的 dispatch 函数身份稳定吗,写进 useEffect 依赖数组时能否省略?

    围绕“useReducer 返回的 dispatch 函数身份稳定吗,写进 useEffect 依赖数组时能否省略”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确 dispatch 身份稳定可安全省略,以及 dispatch 后 state 未变时 React 跳过渲染的行为。

    核心关键词React useReducer dispatch 稳定 依赖数组
    #Hooks 与复用#Effect
  41. 3541
    ReactHooks 与复用

    useReducer 的第三个参数 init 函数有什么作用?

    围绕“useReducer 的第三个参数 init 函数有什么作用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确惰性计算初始状态与利用 init 从外部 props 重建状态两种用途。

    核心关键词React useReducer init 惰性初始化 第三个参数
    #Hooks 与复用
  42. 3542
    ReactHooks 与复用

    什么时候应该把 React 组件里的 useState 重构为 useReducer?

    围绕“什么时候应该把 React 组件里的 useState 重构为 useReducer”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出可操作的判断标准,如状态转移逻辑集中、多个字段联动更新、下一状态依赖旧状态的复杂计算。

    核心关键词React useReducer useState 何时重构
    #Hooks 与复用
  43. 3543
    ReactHooks 与复用

    什么情况下必须使用 React setState 的函数式更新形式而不是直接传新值?

    围绕“什么情况下必须使用 React setState 的函数式更新形式而不是直接传新值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须诊断基于过期快照连续更新导致丢更新的问题及 updater 拿到最新 pending state 的语义。

    核心关键词React setState 函数式更新 updater
    #Hooks 与复用
  44. 3544
    ReactHooks 与复用

    给 React 的 useState 传一个函数和直接传初始值有什么区别?

    围绕“给 React 的 useState 传一个函数和直接传初始值有什么区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确惰性初始化只在首次渲染执行、以及误写成调用函数结果的常见坑。

    核心关键词React useState 惰性初始化 函数参数
    #Hooks 与复用
  45. 3545
    ReactHooks 与复用

    为什么 useSyncExternalStore 的 getSnapshot 必须返回缓存的值,而不能每次新建一个对象?

    围绕“为什么 useSyncExternalStore 的 getSnapshot 必须返回缓存的值,而不能每次新建一个对”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须诊断每次返回新引用会被判定为 store 已变化从而触发无限重渲染。

    核心关键词React useSyncExternalStore getSnapshot 缓存 无限循环
    #Hooks 与复用#缓存
  46. 3546
    ReactHooks 与复用

    React 的 useSyncExternalStore 是为解决什么问题而设计的?

    围绕“React 的 useSyncExternalStore 是为解决什么问题而设计的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确并发渲染下读取外部 store 可能出现界面不一致(tearing)及该 API 提供的同步保证。

    核心关键词React useSyncExternalStore tearing 并发
    #Hooks 与复用#并发编程
  47. 3547
    React性能与并发

    React 并发渲染中『渲染可中断』具体指什么,中断后工作会被浪费吗?

    围绕“React 并发渲染中『渲染可中断』具体指什么,中断后工作会被浪费吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出渲染可在浏览器空闲分片执行、可丢弃重来。

    核心关键词React 并发渲染 可中断 时间切片
    #性能与并发#性能优化#并发编程
  48. 3548
    React性能与并发

    用 React DevTools Profiler 的火焰图和排序图如何定位最耗时的组件?

    围绕“用 React DevTools Profiler 的火焰图和排序图如何定位最耗时的组件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出按提交录制、按渲染耗时排序定位的流程。

    核心关键词React DevTools Profiler 火焰图 定位慢组件
    #性能与并发#性能优化#并发编程
  49. 3549
    React性能与并发

    如何诊断一个组件发生了本不该发生的重渲染,根因通常有哪些?

    围绕“如何诊断一个组件发生了本不该发生的重渲染,根因通常有哪些”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 props 引用变化、父级重渲染、context 变化三类根因的排查思路。

    核心关键词React 排查 多余重渲染 原因
    #性能与并发#性能优化#并发编程
  50. 3550
    React性能与并发

    React.memo 的 arePropsEqual 如何编写,为什么不能忽略函数 prop?

    通过候选人列表说明 React.memo 自定义比较器需要覆盖全部输出与事件行为,解释函数 prop 导致旧闭包的风险、不可变数据前提,以及有界逐项比较和深比较的成本取舍。

    核心关键词React.memo arePropsEqual 自定义比较
    #性能与并发#React 性能#性能优化
上一页
1…6970717273…100
下一页
前端进阶之旅本地 Markdown 维护 · 服务端分页 · 完整内容对用户与搜索引擎一致