这里有一个示例jsfiddle演示了我的问题。
您好和世界链接会更改路线。离开时,该动画已应用于Hello路线。实际上,转换的设置方式是,当Hello
页面离开时,它会要求其子组件<h1>
自己进行动画处理componentWillLeave
,以完成愉快的卸载。之所以这样做,是因为在我的实际应用中,当Hello页面离开时,需要以不同的方式对其子组件进行动画处理-因此,它并不是整个页面的单一过渡。
要查看该问题,请单击Hello加载Hello
页面。然后单击页面的“世界”链接World
。您会看到World
页面即使在制作Hello
动画时也已加载。
那么,如何World
等待动画完成呢?我想确认的另一件事是,我在父组件离开之前使子组件动画的方法是否正确。
作为参考,我在master分支中使用了最新的react-router:1.0b4
好。在浏览了许多最新和过时的文档之后,我设法解决了这一问题。这是解决方案
基本上,react-router仅与父容器的动画有关。但这意味着,使用ReactTransitionGroup
,我们可以componentWillLeave
在退出的组件中加入方法,在此我们可以使单个子项进行操作。因此,更改页面将通过挂钩自动为子代设置动画。
该setTimeout
溶液中可能看起来像一个黑客,但仅此而已,我已经能够为现在要做的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句