为什么两次传入 useState 的值相同,组件通常不会重新渲染?
Why does React usually skip a re-render when you set the same value with useState?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Frontend
标签: useState, bailout
参考答案摘要
答案 React 会对新旧 state 做一次类似 Object.is 的比较;若引用/值相同,认为没有可见变化就会跳过本次更新,这是减少无效渲染的优化。若希望触发更新,需要改变引用(如创建新对象/数组)或引入额外状态/机制表达“确实发生了变化”。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。