使用ReactDOM createPortal为react-transition-group设置动画

问题描述 投票:2回答:1

我一直在试图弄清楚如何完成我认为很简单的事情(我知道......)

目标是一个非常小的,可重复使用的模态组件,我可以使用触发按钮或w / e在某种HOC中制作动画。

我正在使用createPortal创建它,目标是在进入/退出所述门户时添加一些简单的动画。

我已经使用GSAP来实现这一点,但理想情况下我会喜欢这样与SC一起使用,这样我就不必再引入另一个动画库了。

对于我的生活,我只是无法与SC一起工作,如果有人能指出我正确的方向,我会很高兴。

我在这里制作了一个沙箱:https://codesandbox.io/s/r44w9m4o5p使用GSAP来运行动画,而且它有点hacky但是它正朝着我想要的方向前进。

另外,使用react-transition-group对https://github.com/react-tools/react-move这样的东西有好处吗?

reactjs modal-dialog react-hooks react-transition-group react-animations
1个回答
2
投票

您可以使用CSSTransition组件而不是TransitionCSSTransition将使用给定的动画时序切换适当的类名:.*-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组件。

© www.soinside.com 2019 - 2024. All rights reserved.