useEffect 的依赖数组如何工作?为什么数组/对象依赖容易“监听不到变化”?
How does the useEffect dependency array work, and why can arrays/objects fail to trigger updates?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Frontend
标签: useEffect, deps, shallow-compare
参考答案摘要
答案 依赖比较通常是 浅比较 (类似 Object.is)。数组/对象即使内容变了,但如果引用不变,Effect 不会重新执行;反过来,如果每次都创建新引用,也会导致频繁触发。常见做法:保持引用稳定(useMemo/useCallback)、只依赖必要的基本类型、或在确有需要时做序列化/深比较(注意性能)。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。