为什么 useContext 往往不能做到“精准更新”?常见优化手段有哪些?
Why doesn’t useContext always provide fine-grained updates, and what are common optimizations?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: Frontend
标签: useContext, rendering, state-management
参考答案摘要
答案 Context 的 value 变化会触发订阅该 Context 的组件重渲染;如果把一个大对象作为 value,任何字段变化都可能导致广泛更新。优化思路:拆分多个 Context、将 value 做 memo(稳定引用)、或引入 selector/外部状态库实现按字段订阅,从而减少无关组件重渲染。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。