Когда установлен компонент EffectBox
, я хочу добавить к этому компоненту class
. Но переход css не работает.ReactJS: переход css не работает в компонентеDidMount
Это 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;
}
И когда я использую delay
позвонить показать function(use setTimeout)
СМЧ анимационные работы. На данный момент (componentDidMount)
, сделал ли реальный DOM-рендеринг?
jQuery не имеет ничего общего с этим. – zvona
Функция show() OP вызывает вызов jquery-метода addClass в объекте jquery! Как вы можете сказать, что jquery не имеет ничего общего с jquery? Это чепуха. – FariaC
Правда, я не заметил (ненужного) использования jQuery. Однако ответственность за то, чтобы весь документ был предоставлен, не несет ответственности за компоненты. И когда мы имеем дело с Single page App и Virtual DOM, это событие jQuery будет выполняться только один раз - не обязательно, когда мы визуализируем (обновляем) компонент в представлении. – zvona