我的代码与官方React-Router git repo中的示例非常相似。
问题出在这里:不是等待transitionEnterTimeout
属性中指定的时间,而是立即呈现新元素。然后两个 css 动画(进入和离开)同时运行。之后,前一个元素被删除。
在更复杂的设置中,我在本地也遇到了同样的问题,这就是为什么我制作了简单的代码笔来查看问题所在。
我正在使用所有框架的最新版本(react、react-router、react-addons-css-transition-group)
const App = ({children, location}) => {
return (
<ReactCSSTransitionGroup
component="div"
transitionName="app"
transitionEnterTimeout={500}
transitionLeaveTimeout={500}
>
{children && React.cloneElement(children, {
key: location.pathname,
})}
</ReactCSSTransitionGroup>
);