撤消转换回零时使用Spring奇怪的行为

useSpring weird behaviour when undoing transform back to zero

我正在使用一个基本的 useSpring 钩子来动画转换 属性:

 const props = useSpring({
    to: {
      transform: open ? 'translateY(-50px)' : 'translateY(0)',
    },
  })

在 v8 中工作正常,但在 v9 中,只有在初始动画结束之前启动动画的反向动画才有效

我上传了一个最小的example。如果您打开沙箱,它就会出现我描述的问题。当你点击时,它开始动画,如果你等待直到完成然后再次点击,它会跳到起点并且不会动画,但如果你在初始动画期间点击,它会按预期工作。

此现象仅出现在版本 9 中。您可以将侧边栏中的版本更改为 v8,然后发现该问题已不存在。我正在尝试使用 v9 实现相同的效果。

我发现了问题所在,这是最愚蠢的事情。显然 react-spring v9 不理解 "translateY(0)" 并且需要这个单位;所以 "translateY(0px)" 就可以了。