2015-06-10 24 views
5

'da durum değiştiğinde bileşeni birleştirin Veriler, veri değiştiğinde depolanan veri değerlerinde HTML öğesinde küçük bir animasyon oluşturmaya çalışıyorum. Bunu nasıl başarabilirim?React.js

componentWillUpdate'da CSS sınıfını bileşene nasıl ekleyebilir ve componentDidUpdate içinde kaldırabilirim? Orada herhangi bir HTML öğesine referans göremiyorum. Eğer bir bileşene bir sınıf eklemeniz gerekiyorsa

+0

Ben https://facebook.github.io/react/docs/animation.html –

+0

okumayı tavsiye Ya da sadece arama olabilir: http://stackoverflow.com/search?q= % 5Breactjs% 5D + animation –

+0

Denedim, ancak yanlış anahtar kelimeler kullandım. Sadece birkaç sonuç aldım. – sunpietro

cevap

3

: React.findDOMNode(this).classList.add("classname");

kaldırmak için: React.findDOMNode(this).classList.remove("classname");

Eğer componentWillUpdate bir sınıf ekleyip componentDidUpdate bunu kaldırmak için çalışıyorsanız, size ihtiyacım olacağını Bir değişiklik fark etmek için setTimeout gibi bir şey kullanmak. Örneğin:

componentWillUpdate: function() { 
    React.findDOMNode(this).classList.add("class1", "class2"); 
}, 
componentDidUpdate: function() { 
    var el = React.findDOMNode(this); 
    setTimeout(function(){ 
     el.classList.remove("class1"); 
    }, 1000); 
} 
+0

React.findDOMNode'un kullanımdan kaldırıldığını unutmayın. Bunun yerine ReactDOM.findDOMNode gereksiniminden ('react-dom') yararlanın. – Spyros

+0

Muhtemelen 'componentWillUnmount'daki zaman aşımını silmek isteyeceksiniz. – IliasT