(REACT)使用CSS模块的CSSTransition
我正在尝试在我的项目中实现到模型的CSSTransition。问题是我使用的是CSS模块。
我的模式的呈现方法
render() {
return (
<Aux>
<Backdrop
show={this.props.show}
clicked={this.props.modalClosed}/>
<CSSTransition
in={this.props.show}
timeout={1000}
mountOnEnter
unmountOnExit
classNames={?}
>
<div
className={classes.Modal}
>
{this.props.children}
</div>
</CSSTransition>
</Aux>
)
}
我的Modal.css
.fade-enter {
}
.fade-enter-active {
animation:openModal 0.4s ease-out forwards;
}
.fade-exit{
}
.fade-exit-active{
animation: closeModal 0.4s ease-out forwards;
}
为了使CSSTransition组件正常工作,我应该向CSSTransition组件中的classNames属性传递什么?
解决方案
jsx:
<CSSTransition in={focused} timeout={500} classNames={{
enterActive: styles.MyClassEnterActive,
enterDone: styles.MyClassEnterDone,
exitActive: styles.MyClassExit,
exitDone: styles.MyClassExitActive
}}>
<span className={styles.MyClass}>animated</span>
</CSSTransition>
CSS模块:
.MyClass {
position: absolute;
left: 5px;
}
.MyClassEnterActive {
left: 15px;
transition: left 500ms;
}
.MyClassEnterDone {
left: 15px;
}
.MyClassExit {
left: 15px;
}
.MyClassExitActive {
left: 5px;
transition: left 500ms;
}
谢谢Lionel!
相关文章