Angular Signals 里的 computed 与 JavaScript memoized 函数有何本质区别?
Angular Signals 里的 computed 与 JavaScript memoized 函数有何本质区别? 本文先给出可直接复述的结论,再用最小代码说明Signals computed vs JavaScript memo 函数 依赖追踪 差异的工作方式、判断依据、项目边界和常见误区。
React 性能专题面试题第 1 页,显示第 1–31 题,共找到 31 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
Angular Signals 里的 computed 与 JavaScript memoized 函数有何本质区别? 本文先给出可直接复述的结论,再用最小代码说明Signals computed vs JavaScript memo 函数 依赖追踪 差异的工作方式、判断依据、项目边界和常见误区。
React memo 能阻止 Context 更新传给深层消费者吗? 本文先给出可直接复述的结论,再用最小代码说明React memo 能阻止 Context 更新吗的工作方式、判断依据、项目边界和常见误区。
React Context 不支持选择器,组件只想订阅其中一部分数据时有哪些官方认可的规避方案及各自代价? 本文先给出可直接复述的结论,再用最小代码说明React Context 选择器 替代方案的工作方式、判断依据、项目边界和常见误区。
一个大的 React Context 应该什么时候拆成多个? 本文先给出可直接复述的结论,再用最小代码说明React Context 拆分优化的工作方式、判断依据、项目边界和常见误区。
解释内联对象怎样造成 Context value 身份变化,用完整 JSX 示例区分无关计数更新与真实主题更新,并说明 useMemo 依赖、函数缓存和 React Compiler 的适用边界。
React 中由 props/state 计算出的值为什么通常不该放进 Effect 再 setState? 本文先给出可直接复述的结论,再用最小代码说明React 派生状态为什么不需要 useEffect的工作方式、判断依据、项目边界和常见误区。
自定义 Hook 返回的回调函数在每次渲染都变新引用,导致调用方 effect 反复执行,该如何处理? 本文先给出可直接复述的结论,再用最小代码说明React 自定义 Hook useCallback 返回函数 稳定引用的工作方式、判断依据、项目边界和常见误区。
React 的 useMemo 能解决哪两类问题,为什么不能把它当作结果一定会被缓存的语义保证? 本文先给出可直接复述的结论,再用最小代码说明React useMemo 用途 缓存 语义保证的工作方式、判断依据、项目边界和常见误区。
通过候选人列表说明 React.memo 自定义比较器需要覆盖全部输出与事件行为,解释函数 prop 导致旧闭包的风险、不可变数据前提,以及有界逐项比较和深比较的成本取舍。
解释内联对象与箭头函数每轮产生新引用的原因,用筛选工具栏示例展示 useMemo 和 useCallback 的完整依赖,并讨论减少 props、移动对象创建位置和避免空依赖闭包错误。
用父组件计数与子组件成绩卡的示例解释 React.memo 如何逐项比较 props,区分父级更新、本地状态、Context 和重新挂载,并说明渲染次数为什么不能成为业务正确性的条件。
对照函数组件与类组件解释 memo 和 PureComponent 的比较范围,使用独立展开状态演示自身更新,说明 shouldComponentUpdate 与 arePropsEqual 返回值方向,以及迁移时的 state 合并差异。
什么情况下 React.memo 没有收益,甚至增加成本? 本文先给出可直接复述的结论,再用最小代码说明React.memo 过度使用 无收益 场景的工作方式、判断依据、项目边界和常见误区。
Profiler 报告的 actualDuration 与 baseDuration 差异说明什么优化机会? 本文先给出可直接复述的结论,再用最小代码说明Profiler actualDuration baseDuration 区别的工作方式、判断依据、项目边界和常见误区。
把每次渲染都新建的内联函数放进 useEffect 依赖数组会导致什么问题,如何修复? 本文先给出可直接复述的结论,再用最小代码说明useEffect 依赖 函数 每次执行 useCallback的工作方式、判断依据、项目边界和常见误区。
为什么只用 useCallback 而子组件没有 memo,仍然阻止不了子组件重渲染? 本文先给出可直接复述的结论,再用最小代码说明useCallback 配合 memo 才能生效的工作方式、判断依据、项目边界和常见误区。
useCallback 解决了什么问题,它的返回值在渲染之间如何保持? 本文先给出可直接复述的结论,再用最小代码说明useCallback 函数引用 缓存的工作方式、判断依据、项目边界和常见误区。
useCallback 的依赖数组写错为什么会产生读取到旧 state 的过期回调? 本文先给出可直接复述的结论,再用最小代码说明useCallback 过期闭包 依赖的工作方式、判断依据、项目边界和常见误区。
为什么 useDeferredValue 通常要和 React.memo 配合才能真正看到性能收益? 本文先给出可直接复述的结论,再用最小代码说明useDeferredValue memo 配合 收益的工作方式、判断依据、项目边界和常见误区。
React 实验性 API useEffectEvent 相比 useCallback 解决稳定回调问题有什么不同思路? 本文先给出可直接复述的结论,再用最小代码说明useEffectEvent useCallback 稳定回调 区别的工作方式、判断依据、项目边界和常见误区。
useMemo 依赖数组漏写或多写会有什么症状,如何保证依赖正确? 本文先给出可直接复述的结论,再用最小代码说明useMemo 依赖数组 漏写 exhaustive-deps的工作方式、判断依据、项目边界和常见误区。
解释 useMemo 在开发编辑、初次挂载挂起等情况下可能丢弃缓存,用房间连接示例说明如何把资源创建与清理放在 Effect,并区分缓存、state、ref 和重新挂载后的生命周期。
什么情况下不该使用 useMemo? 本文先给出可直接复述的结论,再用最小代码说明useMemo 不必要的优化 廉价计算的工作方式、判断依据、项目边界和常见误区。
用按标签筛选条目的示例解释 useMemo 何时计算、如何按 Object.is 比较依赖,说明同引用突变、新数组重算、A 到 B 再到 A,以及纯计算与开发严格模式的边界。
只在挂载时算一次的昂贵初始值,应该用 useMemo 还是 useState 惰性初始化? 本文先给出可直接复述的结论,再用最小代码说明useMemo useState 惰性初始化 区别的工作方式、判断依据、项目边界和常见误区。
与 props 和 state 无关的常量,放 useMemo 里和提升出组件外有何区别? 本文先给出可直接复述的结论,再用最小代码说明useMemo 模块作用域 常量提升的工作方式、判断依据、项目边界和常见误区。
通过报价与确认按钮解释 useMemo 缓存计算结果、useCallback 缓存函数引用的区别,展示完整依赖和旧闭包边界,并说明函数创建、函数调用、请求去重与异步缓存并不是同一件事。
在 React 中如何不可变地更新数组里某一个对象元素的字段? 本文先给出可直接复述的结论,再用最小代码说明React 数组内对象 更新字段 map 不可变的工作方式、判断依据、项目边界和常见误区。
为什么说 React 的 setState 与 dispatch 函数引用是稳定的,这对依赖数组和 props 传递有什么意义? 本文先给出可直接复述的结论,再用最小代码说明React setState dispatch 引用稳定 依赖数组的工作方式、判断依据、项目边界和常见误区。
为什么 React 的不可变更新习惯与 React.memo、useMemo 的浅比较是配套的? 本文先给出可直接复述的结论,再用最小代码说明React 结构共享 引用比较 memo 不可变更新的工作方式、判断依据、项目边界和常见误区。
React Native FlatList 的列表项为什么应该做成纯组件并避免行内匿名回调? 本文先给出可直接复述的结论,再用最小代码说明FlatList renderItem 重渲染 PureComponent的工作方式、判断依据、项目边界和常见误区。