我一直想弄清楚如何完成我认为很简单的事情(我知道...)
目标是非常最小和可重用的模式组件,我可以使用触发按钮或w / e在某种HOC中对其进行动画处理。
我正在使用createPortal创建它,目标是在该门户的enter / exit 上添加一些简单的动画。
我已经使用GSAP来完成此工作,但是理想情况下,我希望它与SC一起使用,这样我就不必引入另一个动画库了。
对于我的一生,我只是无法让它与SC一起工作,并且很乐意有人将我指向正确的方向。
我在这里制作了一个沙箱:https://codesandbox.io/s/r44w9m4o5p使用GSAP来运行动画,虽然有点怪异,但它正朝着我要的方向发展。
而且,使用react-transition-group优于https://github.com/react-tools/react-move之类的东西吗?
答案 0 :(得分:1)
您可以使用CSSTransition
组件代替Transition
。 CSSTransition
只会使用给定的动画时间切换相应的类名称:.*-enter
,.*-enter-active
用于过渡,.*-exit
,.*-exit-active
用于过渡。因此,您可以使用带有styled-components
的CSS3属性来定义所有转换。
看看我的叉子:https://codesandbox.io/s/zz95v5103
我刚刚使用过渡样式扩展了您的Modal
。请注意,扩展样式为requires className
property for the component to be extended,所以我已将该属性添加到您的Modal
组件中。