只在挂载时算一次的昂贵初始值,应该用 useMemo 还是 useState 惰性初始化?
只在挂载时算一次的昂贵初始值,应该用 useMemo 还是 useState 惰性初始化? 本文先给出可直接复述的结论,再用最小代码说明useMemo useState 惰性初始化 区别的工作方式、判断依据、项目边界和常见误区。
React面试题第 5 页,显示第 201–250 题,共找到 281 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
只在挂载时算一次的昂贵初始值,应该用 useMemo 还是 useState 惰性初始化? 本文先给出可直接复述的结论,再用最小代码说明useMemo useState 惰性初始化 区别的工作方式、判断依据、项目边界和常见误区。
与 props 和 state 无关的常量,放 useMemo 里和提升出组件外有何区别? 本文先给出可直接复述的结论,再用最小代码说明useMemo 模块作用域 常量提升的工作方式、判断依据、项目边界和常见误区。
通过报价与确认按钮解释 useMemo 缓存计算结果、useCallback 缓存函数引用的区别,展示完整依赖和旧闭包边界,并说明函数创建、函数调用、请求去重与异步缓存并不是同一件事。
useTransition 返回的 isPending 适合设计什么样的加载反馈? 本文先给出可直接复述的结论,再用最小代码说明useTransition isPending 加载反馈的工作方式、判断依据、项目边界和常见误区。
为什么 React 流式 SSR 需要设置超时并调用 abort 终止渲染,终止后页面会变成什么样? 本文先给出可直接复述的结论,再用最小代码说明React SSR abort 超时 流式的工作方式、判断依据、项目边界和常见误区。
React 组件在服务端渲染时没有 window 和 document,如何安全地编写依赖浏览器 API 的代码? 本文先给出可直接复述的结论,再用最小代码说明React SSR window is not defined 解决的工作方式、判断依据、项目边界和常见误区。
React 的 cache() 函数在服务端组件渲染中起什么作用,为什么组件树里多处 fetch 同一数据不会重复请求? 本文先给出可直接复述的结论,再用最小代码说明React cache 函数 服务端 请求去重的工作方式、判断依据、项目边界和常见误区。
在 React Server Components 中如何把客户端交互组件嵌入以服务端为主的组件树而不扩大客户端边界? 本文先给出可直接复述的结论,再用最小代码说明React 服务端组件 children 组合模式的工作方式、判断依据、项目边界和常见误区。
React 的 CSR 与 SSR 在首屏生成流程上有什么区别? 本文先给出可直接复述的结论,再用最小代码说明React CSR 与 SSR 渲染流程区别的工作方式、判断依据、项目边界和常见误区。
React 流式 SSR 中某个 Suspense 边界在服务端抛错时,Error Boundary 如何影响最终页面? 本文先给出可直接复述的结论,再用最小代码说明React 流式 SSR Error Boundary Suspense的工作方式、判断依据、项目边界和常见误区。
根据根容器是否已有对应 SSR HTML 选择 hydrateRoot 或 createRoot,说明两种 API 的启动方式、后续更新与卸载,并明确 React 18 弃用及 React 19 移除旧 render、hydrate 的版本边界。
按初始数据、时间随机性、浏览器环境、无效 HTML 和外部 DOM 修改分类排查 hydration mismatch,用共享时间标签示例说明确定性初始输入,并区分首次接管与之后正常更新。
React hydration 不匹配时如何恢复,会导致整个页面重建吗? 本文先给出可直接复述的结论,再用最小代码说明React hydration 不匹配 回退 客户端重渲染的工作方式、判断依据、项目边界和常见误区。
React 应用 hydration 阶段的主要性能开销来自哪里,有哪些降低成本的思路? 本文先给出可直接复述的结论,再用最小代码说明React hydration 性能优化的工作方式、判断依据、项目边界和常见误区。
React.lazy 包裹的组件在流式 SSR 中如何与 Suspense 配合,为什么这让代码分包能在服务端生效? 本文先给出可直接复述的结论,再用最小代码说明React.lazy Suspense SSR 代码分割的工作方式、判断依据、项目边界和常见误区。
React 中多个嵌套或兄弟 Suspense 边界在流式 SSR 中的内容揭示顺序由什么决定? 本文先给出可直接复述的结论,再用最小代码说明React 嵌套 Suspense 揭示顺序的工作方式、判断依据、项目边界和常见误区。
React 19 中在组件树任意位置渲染 title、meta、link 标签会发生什么,这对 SSR 有什么意义? 本文先给出可直接复述的结论,再用最小代码说明React 19 文档元数据 title meta的工作方式、判断依据、项目边界和常见误区。
React 19 的 prerender(react-dom/static)与 renderToString 有何不同,为什么它适合静态站点生成? 本文先给出可直接复述的结论,再用最小代码说明React 19 prerender react-dom/static的工作方式、判断依据、项目边界和常见误区。
在 Node.js 中如何用 React 的 renderToPipeableStream 实现流式 SSR,它的关键回调各自在什么时候触发? 本文先给出可直接复述的结论,再用最小代码说明React renderToPipeableStream Node 流式 SSR的工作方式、判断依据、项目边界和常见误区。
在边缘运行时(Web Streams 环境)中 React 流式 SSR 应使用哪个 API,它与 Node 版本有何不同? 本文先给出可直接复述的结论,再用最小代码说明React renderToReadableStream edge 流式的工作方式、判断依据、项目边界和常见误区。
React 的 renderToStaticMarkup 与 renderToString 输出有何区别,各自适合什么产物? 本文先给出可直接复述的结论,再用最小代码说明renderToStaticMarkup 与 renderToString 区别的工作方式、判断依据、项目边界和常见误区。
React 的 renderToString 是如何工作的,为什么说它不适合需要流式传输的场景? 本文先给出可直接复述的结论,再用最小代码说明React renderToString 用法 局限的工作方式、判断依据、项目边界和常见误区。
在 Node 服务端选择 renderToString 还是 renderToPipeableStream,判断依据是什么? 本文先给出可直接复述的结论,再用最小代码说明renderToString 与 renderToPipeableStream 区别的工作方式、判断依据、项目边界和常见误区。
React Server Components 的客户端边界划分如何影响最终发往浏览器的 JavaScript 包体积? 本文先给出可直接复述的结论,再用最小代码说明React RSC 客户端边界 打包 体积的工作方式、判断依据、项目边界和常见误区。
为什么 React 服务端组件不能使用 useState、useEffect 和浏览器事件,这种限制换来什么? 本文先给出可直接复述的结论,再用最小代码说明React 服务端组件 不能用 hooks 原因的工作方式、判断依据、项目边界和常见误区。
React Server Components 渲染出的 RSC payload 是什么形态,客户端如何消费它? 本文先给出可直接复述的结论,再用最小代码说明React RSC payload Flight 格式的工作方式、判断依据、项目边界和常见误区。
React Server Components(RSC)与传统 SSR 是同一回事吗,两者在渲染管线中分别负责什么? 本文先给出可直接复述的结论,再用最小代码说明React Server Components 与 SSR 区别的工作方式、判断依据、项目边界和常见误区。
React 18 的选择性 hydration(selective hydration)是什么,它如何响应用户的早期交互? 本文先给出可直接复述的结论,再用最小代码说明React 18 选择性 hydration 原理的工作方式、判断依据、项目边界和常见误区。
为什么从 React 服务端组件传给客户端组件的 props 必须是可序列化的,传函数会怎样? 本文先给出可直接复述的结论,再用最小代码说明React 服务端组件 可序列化 props的工作方式、判断依据、项目边界和常见误区。
为什么把 React Server Action 传给 form 的 action 属性能做到 JavaScript 未加载时表单仍可提交? 本文先给出可直接复述的结论,再用最小代码说明React Server Action 表单 渐进增强的工作方式、判断依据、项目边界和常见误区。
React 的 'use server' 与 Server Functions 解决了什么问题,客户端调用它们时实际发生了什么? 本文先给出可直接复述的结论,再用最小代码说明React use server Server Functions 原理的工作方式、判断依据、项目边界和常见误区。
renderToPipeableStream 的 onShellReady 与 onAllReady 分别在什么时机触发,爬虫访问时应选择哪个? 本文先给出可直接复述的结论,再用最小代码说明onShellReady onAllReady 区别的工作方式、判断依据、项目边界和常见误区。
React SSR 如何帮助 SEO 和社交分享,CSR 页面一定不能收录吗? 本文先给出可直接复述的结论,再用最小代码说明React SSR SEO 原理的工作方式、判断依据、项目边界和常见误区。
React SSR 有哪些代价,什么场景值得使用? 本文先给出可直接复述的结论,再用最小代码说明React SSR 优缺点 适用场景的工作方式、判断依据、项目边界和常见误区。
React 流式 SSR 在 HTML 已经开始发送之后发生渲染错误,服务端应该如何处理? 本文先给出可直接复述的结论,再用最小代码说明React 流式 SSR 渲染错误处理的工作方式、判断依据、项目边界和常见误区。
React 流式 SSR 是如何把 Suspense 边界内后续完成的内容「补」进已发送的 HTML 中的? 本文先给出可直接复述的结论,再用最小代码说明React 流式 SSR Suspense 分块 原理的工作方式、判断依据、项目边界和常见误区。
React 流式 SSR 为什么能降低 TTFB,慢数据源对首屏的影响如何被隔离? 本文先给出可直接复述的结论,再用最小代码说明React 流式渲染 TTFB 优化的工作方式、判断依据、项目边界和常见误区。
suppressHydrationWarning 适合什么情况,为什么不是通用修复? 本文先给出可直接复述的结论,再用最小代码说明React suppressHydrationWarning 使用场景的工作方式、判断依据、项目边界和常见误区。
在 React 流式 SSR 中如何决定 Suspense 边界的拆分粒度,过粗和过细各有什么问题? 本文先给出可直接复述的结论,再用最小代码说明React Suspense 边界 拆分 设计的工作方式、判断依据、项目边界和常见误区。
为什么只有 Suspense 组件本身不能让 React 在渲染期间直接 await 数据,还需要什么配合? 本文先给出可直接复述的结论,再用最小代码说明React Suspense 数据获取 条件的工作方式、判断依据、项目边界和常见误区。
React 18 中 Suspense 在服务端渲染时的行为与纯客户端渲染有什么不同? 本文先给出可直接复述的结论,再用最小代码说明React 18 Suspense SSR 行为的工作方式、判断依据、项目边界和常见误区。
当 React 首屏内容依赖客户端才有的信息(如本地存储、媒体查询)时,如何避免 hydration 不匹配? 本文先给出可直接复述的结论,再用最小代码说明React SSR 客户端专属内容 两阶段渲染的工作方式、判断依据、项目边界和常见误区。
React Server Components 中 'use client' 指令标记的是组件还是模块边界,它的真实语义是什么? 本文先给出可直接复述的结论,再用最小代码说明React use client 指令 语义的工作方式、判断依据、项目边界和常见误区。
React 的 useActionState 如何配合 Server Action 管理表单提交的 pending 状态与返回结果? 本文先给出可直接复述的结论,再用最小代码说明React useActionState Server Action的工作方式、判断依据、项目边界和常见误区。
为什么在 React SSR 应用中生成可访问性 id 要用 useId 而不是自增计数器或随机数? 本文先给出可直接复述的结论,再用最小代码说明React useId SSR 稳定 id的工作方式、判断依据、项目边界和常见误区。
React SSR 已经输出 HTML,为什么还需要 hydration? 本文先给出可直接复述的结论,再用最小代码说明React hydration 为什么需要的工作方式、判断依据、项目边界和常见误区。
在 React 中如何不修改原数组地向数组中间插入一个元素或删除指定下标的元素? 本文先给出可直接复述的结论,再用最小代码说明React 数组中间插入删除 slice 不可变的工作方式、判断依据、项目边界和常见误区。
在 React 中如何不可变地更新数组里某一个对象元素的字段? 本文先给出可直接复述的结论,再用最小代码说明React 数组内对象 更新字段 map 不可变的工作方式、判断依据、项目边界和常见误区。
更新 React 数组 state 时,push、splice、sort 与 map、filter、slice 的可用性有何区别? 本文先给出可直接复述的结论,再用最小代码说明React 数组 state 不可变方法 push splice map filter的工作方式、判断依据、项目边界和常见误区。
React 事件处理器中 await 之后再读取 state 拿到的是旧值,如何拿到最新状态? 本文先给出可直接复述的结论,再用最小代码说明React 异步回调 state 过期 闭包 旧值的工作方式、判断依据、项目边界和常见误区。