reactjs - React-Transition-Group 在添加 *-enter 类之前添加延迟

标签 reactjs react-transition-group

我正在尝试使用react-transition-group来动画两个组件的进入/退出。转换工作正常,但唯一的问题是,当为退出组件触发 *-exit 时,另一个组件也会进入 DOM,并且退出组件在离开之前被下推。您可以在下面的代码和框中看到它的发生。如何延迟以便仅在 *-exit 完成后才触发 *-enter ?如有任何帮助,我们将不胜感激。

代码 - https://codesandbox.io/s/csstransition-component-06bpo

最佳答案

我用react-spring做了类似的东西。我的解决方案是使用绝对定位。这样两个组件就相互重叠,并且进入和退出动画是同时进行的。我在 Child.js 中添加了一个样式

const style = { position: 'absolute', width: '100%' };

return (
  <div style={style}>
    {props.type.list ? (...

而且我还修改了进入动画从左到右,我认为这样更好。

.alert-enter {
  transform: translateX(-100%);
}

示例如下:https://codesandbox.io/s/csstransition-component-xuw2t

关于reactjs - React-Transition-Group 在添加 *-enter 类之前添加延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58318173/

相关文章:

html - 在 react js中滑动动画

reactjs - 如何隐藏和显示加载微调器 - 事件指示器 native react ,管理 Prop 和状态

javascript - 使用 JavaScript 突出显示字符串中单词的数据结构

reactjs - React 中的 getDerivedStateFromProps 中有多个条件

reactjs - 为每个 fetch() 请求设置默认 header

javascript - 在 React 中,如何调用另一个组件中的函数?

html - CSS 过渡宽度不适用于 flex

javascript - 无法使用 CSSTransition Group 创建平滑滚动

javascript - 使用 CSSTransitionGroup 和 React-Router v6 动画路由过渡

javascript - 在使用 React Transition Group Component 构建轮播时,我缺少什么?