如何在React重新渲染之前过渡动画?

时间:2019-06-19 21:20:22

标签: javascript css reactjs css-transitions

我有一个自定义复选框,如下所示: https://codesandbox.io/s/throbbing-resonance-09dii

基于以下代码笔:https://codepen.io/Sambego/pen/yiruz

input:checked:before {
  transition: transform 2s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transform: rotate(-45deg) scale(0, 0);
}

我的“检查”动画工作正常,但我也想为取消检查设置动画。我相信React会在CSS转换发生之前重新呈现我的输入。如何添加动画也取消选中?

1 个答案:

答案 0 :(得分:2)

您的“取消选中”动画效果也很好,问题在于您的背景颜色会立即变回白色,因此您的白色选中标记将不可见。

我可能会在背景上添加过渡期,或者在退出时将复选标记的颜色更改为蓝色。 可能是这样的:https://codesandbox.io/s/x5mbi