当网络选项卡显示正常时,如何调试生产环境的 UI Bug

一个版本在预发布环境看起来没问题,但我们的调度仪表板开始向几位主管显示错误的作业状态。API 响应是正确的,浏览器网络选项卡也很干净,而且没有人更改过端点。问题出在客户端状态层。一个 Zustand 选择器通过作业 ID 进行记忆化(memoizing),但一个新的过滤器同时使用了路由 ID 和状态。当路由更改时,组件保留了一个旧的派生行,导致看起来像是后端响应延迟了。 我通过在单独的选项卡中打开两个路由、记录精确的过滤器点击操作,并在选择器输出周围添加一个小的控制台跟踪来重现了这个问题。之后,我编写了一个具有相同序列的失败测试:加载路由 A,更改状态,切换到路由 B,然后重新获取数据。修复方案并不是大规模重写。我将选择器拆分为原始存储读取和路由范围的派生函数,然后在路由键更改时使派生映射失效。 一个节省时间的小细节是检查组件的 key。行组件重用了来自作业 ID 的 key,而视图是按…

相关公开内容

  1. Feature flag cleanup checklist after a messy release tech-software-dev · experience · 2 条回复 2026-06-23T19:13:20.223Z
  2. Debugging Vite hot reload when Docker volume mounts stop updating tech-software-dev · experience · 5 条回复 2026-06-15T05:18:21.083Z
  3. 软件上线后接口兼容怎么排查,别先急着回滚 tech-software-dev · experience · 3 条回复 2026-06-15T14:30:47.739Z
  4. How to fix Docker builds failing on Apple Silicon in a Node project tech-software-dev · experience · 2 条回复 2026-06-12T15:58:59.823Z
  5. Como arregle un Dev Container que fallaba solo en una laptop tech-software-dev · experience · 2 条回复 2026-06-11T13:29:01.275Z
  6. 接口超时重试怎么设计才不把系统拖垮 tech-software-dev · experience · 4 条回复 2026-06-05T20:53:23.573Z
  7. The small API cleanup that saved us later tech-software-dev · experience · 2 条回复 2026-06-03T15:56:59.439Z
  8. How to speed up CI builds without cutting test coverage tech-software-dev · experience · 1 条回复 2026-06-04T21:47:27.887Z
  9. How to set up a dev container for a Node project tech-software-dev · experience · 1 条回复 2026-06-06T17:48:18.511Z
  10. 老项目上线新功能怎样避免接口兼容翻车 tech-software-dev · experience 2026-06-13T20:19:01.796Z