2017-03-06 68 views
2

我遇到了一个问题,我将动画应用于父路由,并且子节点继承相同的动画。我需要从儿童路线的父路线不同的动画。任何人都可以帮忙。下面是我在做什么:反应过渡组

渲染()方法:

const path = this.props.location.pathname; 
const segment = path.split('/')[1] || 'root'; 

回报()方法:

<ReactCSSTransitionGroup 
     transitionName = "fade" 
     transitionEnterTimeout = {750} 
     transitionLeaveTimeout = {250}> 
     {React.cloneElement(this.props.children, {key: segment})} 
</ReactCSSTransitionGroup> 

然后在我的孩子们组成:

<ReactCSSTransitionGroup 
     transitionName = "slide" 
     transitionEnterTimeout = {1000} 
     transitionLeaveTimeout = {1000}> 
     {React.cloneElement(this.props.children, {key: this.props.location.pathname})} 
</ReactCSSTransitionGroup> 

的儿童路线会淡出而不是幻灯片动画?

+0

我有同样的问题 - 你有没有想过这个? –

回答

1

问题是每个孩子的密钥都完全相同,所以我将路径用作密钥,因为路径总是不同的。

+0

任何想法如何在React Router v4中实现类似的效果? –