当EffectBox
组件被挂载时,我想show
class
给这个组件添加一个。但是 css 过渡不起作用。
这是js代码:
var EffectBox = React.createClass({
componentDidMount: function () {
this.show();
// setTimeout(this.show, 100);
},
show: function () {
$(React.findDOMNode(this)).addClass('show');
},
render: function () {
return (
<div className="effect-box" >
<div className="header"></div>
<div className="content">
...
)
}
});
css如下:
.effect-box {
transform: translate3d(0, -100%, 0);
transition: all .4s;
}
.show {
transform: none;
}
当我使用 adelay
调用 show 时function(use setTimeout)
,css 动画会起作用。此时(componentDidMount)
,真正的 DOM 被渲染了吗?