React Addons CSS 过渡组未添加 类 onEnter 和 onLeave
React Addons CSS Transition Group Not Adding Classes onEnter and onLeave
拜托,我似乎无法理解我在这里做错了什么,我正在尝试为一个元素设置动画,但是本应在过渡时添加到该元素的 类 没有被添加, 已使用开发人员工具对其进行监控,但未添加任何内容。
使用反应过渡组 2.0.1
我是这样导入库的。
import {CSSTransition} from 'react-transition-group';
这是我的 JSX 代码。
var submenus = <Submenu menuList={item.submenus} key={'submenu'+index}/>;
return(
<li key={index} styleName={item.styleName} onMouseLeave={ this.resetSelectedMenu.bind(this) } onMouseEnter={this.showSubmenu.bind(this, item.label)}>
<Link to={item.to}>
<span>{item.label+' '}<i className='fa fa-caret-down'></i></span>
</Link>
{ (this.state.selectedSubmenu == item.label)
&& <CSSTransition classNames="submenu" timeout={500} children={submenus} />
}
</li>)
这是我的 CSS 代码。
.submenu-enter {
opacity: 0.01;
top: 50px;
}
.submenu-enter.submenu-enter-active {
opacity: 1;
top: 0px;
transition: opacity 500ms ease-in, top 300ms ease-in;
-moz-transition: opacity 500ms ease-in, top 300ms ease-in;
-webkit-transition: opacity 500ms ease-in, top 300ms ease-in;
}
.submenu-leave {
opacity: 1;
top: 0px;
}
.submenu-leave.submenu-leave-active {
opacity: 0.01;
top: 50px;
transition: opacity 500ms ease-in, top 300ms ease-in;
-moz-transition: opacity 500ms ease-in, top 300ms ease-in;
-webkit-transition: opacity 500ms ease-in, top 300ms ease-in;
}
提前致谢,我已经尝试让它工作两个小时了。
{ (this.state.selectedSubmenu == item.label)
&& <CSSTransition classNames="submenu" timeout={500} children={submenus} />
}
改为
<CSSTransition className="submenu" timeout={500}>
{this.state.selectedSubmenu == item.label && submenu}
</CSSTransition>
因为你必须静态使用。否则会出现和消失都没有过渡。
顺便说一句:classNames
你可能提到了 className
?
拜托,我似乎无法理解我在这里做错了什么,我正在尝试为一个元素设置动画,但是本应在过渡时添加到该元素的 类 没有被添加, 已使用开发人员工具对其进行监控,但未添加任何内容。
使用反应过渡组 2.0.1
我是这样导入库的。
import {CSSTransition} from 'react-transition-group';
这是我的 JSX 代码。
var submenus = <Submenu menuList={item.submenus} key={'submenu'+index}/>;
return(
<li key={index} styleName={item.styleName} onMouseLeave={ this.resetSelectedMenu.bind(this) } onMouseEnter={this.showSubmenu.bind(this, item.label)}>
<Link to={item.to}>
<span>{item.label+' '}<i className='fa fa-caret-down'></i></span>
</Link>
{ (this.state.selectedSubmenu == item.label)
&& <CSSTransition classNames="submenu" timeout={500} children={submenus} />
}
</li>)
这是我的 CSS 代码。
.submenu-enter {
opacity: 0.01;
top: 50px;
}
.submenu-enter.submenu-enter-active {
opacity: 1;
top: 0px;
transition: opacity 500ms ease-in, top 300ms ease-in;
-moz-transition: opacity 500ms ease-in, top 300ms ease-in;
-webkit-transition: opacity 500ms ease-in, top 300ms ease-in;
}
.submenu-leave {
opacity: 1;
top: 0px;
}
.submenu-leave.submenu-leave-active {
opacity: 0.01;
top: 50px;
transition: opacity 500ms ease-in, top 300ms ease-in;
-moz-transition: opacity 500ms ease-in, top 300ms ease-in;
-webkit-transition: opacity 500ms ease-in, top 300ms ease-in;
}
提前致谢,我已经尝试让它工作两个小时了。
{ (this.state.selectedSubmenu == item.label)
&& <CSSTransition classNames="submenu" timeout={500} children={submenus} />
}
改为
<CSSTransition className="submenu" timeout={500}>
{this.state.selectedSubmenu == item.label && submenu}
</CSSTransition>
因为你必须静态使用。否则会出现和消失都没有过渡。
顺便说一句:classNames
你可能提到了 className
?