javascript - ReactCSSTransitionGroup - 如何重写 componentWillLeave(callback)?

标签 javascript reactjs reactcsstransitiongroup

我正在尝试访问 componentWillMount Hook ,以便淡出不是过渡子元素的 Canvas 元素 <Home>成分。 (<Home> 本身的动画按预期工作。)

<ReactCSSTransitionGroup transitionName="screenTrans" transitionEnterTimeout={200} transitionLeaveTimeout={3000}>
    <Home key={'home'} />
</ReactCSSTransitionGroup>

Home.js:

export default class Home extends React.Component {
    ...
    componentWillLeave( callback ) {
        console.log( "am i getting called?" ) // no!
        this.fadeOutCanvas();
    }
}

我错过了什么?谢谢...

最佳答案

答案很晚了,但我现在面临着同样的问题。

问题是,您使用的 ReactCSSTransitionGroup 不会像 ReactTransitionGroup (不同的组件)那样调用回调。问题是您需要一个同时执行这两项操作的组件(设置 css 并调用您的回调)

来自文档:

When using ReactCSSTransitionGroup, there's no way for your components to be notified when a transition has ended or to perform any more complex logic around animation. If you want more fine-grained control, you can use the lower-level ReactTransitionGroup API which provides the hooks you need to do custom transitions.

检查了一下,我找不到任何东西,所以我将编写自己的组件并希望将其开源!

关于javascript - ReactCSSTransitionGroup - 如何重写 componentWillLeave(callback)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36256386/

相关文章:

reactjs - 如何解决 "React.PropTypes.shape is not a function"?

unit-testing - 在测试中禁用 React 的 CSSTransitionGroup

javascript - "void 0 "和 "undefined"之间的区别

javascript - useLocation 无法识别状态

javascript - 如何使用 next.js 获取客户端 cookie?

javascript - React 组件检查变量是否为空

javascript - 名称 : function(){} or function name (){} | ReactJS

javascript - 在 JavaScript 中使用 map

javascript - 无法读取未定义的属性 game.state.add()

javascript - ReactCSSTransitionGroup 动画不流畅