什么时候应该把 React 组件里的逻辑抽成自定义 Hook,它对组件设计和测试有什么好处?
围绕“什么时候应该把 React 组件里的逻辑抽成自定义 Hook,它对组件设计和测试有什么好处”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出『相同状态逻辑出现在多个组件』的抽取信号及 Hook 单独可测的好处。
React · 测试面试题第 1 页,显示第 1–7 题,共找到 7 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“什么时候应该把 React 组件里的逻辑抽成自定义 Hook,它对组件设计和测试有什么好处”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出『相同状态逻辑出现在多个组件』的抽取信号及 Hook 单独可测的好处。
围绕“如何让依赖网络请求的 React 组件在测试中不真的发请求,设计上要怎么改”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出把数据获取函数作为 props 注入或上移到容器组件的改造方式。
围绕“为什么说保持 React 组件渲染纯净能提高可测试性,哪些副作用会破坏这种纯净”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出渲染期修改外部变量、依赖可变全局值等破坏可预测性的写法及修复方向。
围绕“测试 React 组件时为什么应该断言用户可见的行为而不是组件内部 state”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明绑定实现细节的测试在重构时误伤、行为断言稳定的原因及取舍边界。
围绕“React 中把多个组件共享的状态更新逻辑抽成 reducer,相比分散的 useState 在归属和可测试性上带来”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出更新逻辑集中到纯函数、事件派发与状态计算分离便于测试,不展开与 Context 组合的重渲染优化。
从数据可见性、组件组合、消费范围和测试成本比较 props 与 Context,用局部地区设置示例说明怎样减少无意义的中间传递,同时保留清晰的组件依赖。
围绕“设计 useReducer 的 action 时,计算结果应该放进 payload 还是交给 reducer 自己算”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要明确让 reducer 基于当前 state 自行计算以保证正确性与可测试性的原则及例外情形。