reactjs - 嵌套的 ReactTransitionGroups componentWillLeaves 不会被触发

标签 reactjs

我有一个顶级 ReactTransitionGroup,它的子级中的每个组件都有自己的 ReactTransitionGroup

使用 transitionAppear={true},我能够触发子组件的 componentWillAppear

但是当父级需要动画结束时,子级 ReactTransitionGroup 似乎不知道它们应该转到 componentWillLeave

如何让父级的 componentWillLeave 告诉其子级他们需要转换出去,并且只有在完成后才回调?

理想情况下,

需要动画 -> 父动画 -> 子动画 需要动画出来 -> 子动画出来 -> 父动画出来,

最佳答案

我知道这是一个老问题,但我刚刚遇到了类似的问题并解决了。 componentWillAppear()componentWillEnter() 都会阻止任何其他动画,直到调用它们的回调。确保您的 componentWillAppear 调用回调

如果您像我一样使用 TweenMax,则可以使用传递给您选择的 Tween 方法的 onComplete 属性来调用回调。

componentWillAppear(callback) {
  TweenMax.from(
    component,
    .4,
    { autoAlpha: 1, ease: Power2.eastOut, onComplete: callback }
  );
}

希望这对您或其他人有帮助。

关于reactjs - 嵌套的 ReactTransitionGroups componentWillLeaves 不会被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33273320/

相关文章:

javascript - 读取父状态的值并将 bool 值传递给子组件React

reactjs - React 中的 Markdown 与 Typescript

reactjs - 如何更改正文的背景颜色?

reactjs - Redux 应用程序状态通过 url -> 查询参数

javascript - NextJS & json-server 使用 getStaticPaths 在 localhost 上加载缓慢

javascript - 在不接触其他人的情况下对 setState 使用react

javascript - react : rendering components in a loop

javascript - react "react-transition-group"不起作用

javascript - 从其他组件中的服务访问数据

javascript - React-Redux/Jest 不变违规 : Could not find "store"