[RAC] StrictMode 中 SSR 水合后, SelectionIndicator 永久偏移
作者: lowkahwei创建于 2026年9月4日更新于 2026年9月16日
标签bugssrRAC
问题概述 当通过 SSR 渲染 SelectionIndicator 并在 React StrictMode 中进行加载时,它可能永久偏离选中的项目。 这种情况似乎是因为 SharedElement 临时将 translate、width 和 height 写入为内联样式。其布局效果清理取消了应恢复这些属性的挂起的 requestAnimationFrame,但并未执行恢复操作。旧的内联值随后可被下一个效果运行重新使用,导致指示器永远处于错误位置。 ### 预期行为 在 SSR 加载后,SelectionIndicator 应在选中的项目的位置上定位,包括在启用 React StrictMode 时也是如此。 为过渡期间写入的临时内联 translate、width 和 height 值应恢复到其原始值。 在过渡完成后,指示器应保持与其选中的标签对齐。 ### 当前行为 在 SSR 加载和 React StrictMode 启用下,选择除第一个项目以外的其他项目可能会使 SelectionIndicator 永久偏离选中的项目。 临时内联样式未被恢复。例如,指示器可能保持在以下状态中:
内容来源: adobe/react-spectrum