2015-06-10 14 views
5

में परिवर्तन करता है तो घटक को एनिमेट करें, जब मैं राज्य परिवर्तन में संग्रहीत डेटा मानों को HTML तत्व पर एक छोटी एनीमेशन बनाने की कोशिश कर रहा हूं। यह कैसे प्राप्त कर सकते हैं?जब घटक React.js

मैं componentWillUpdate में घटक में सीएसएस क्लास कैसे जोड़ सकता हूं और इसे componentDidUpdate में हटा सकता हूं? मुझे वहां किसी भी HTML तत्व का कोई संदर्भ नहीं दिख रहा है।

+0

मैं https://facebook.github.io/react/docs/animation.html –

+0

पढ़ने के लिए सलाह देते हैं या फिर आप भी बस खोज सकते हैं: http://stackoverflow.com/search?q= % 5 ब्रैक्टजेस% 5 डी + एनीमेशन –

+0

मैंने कोशिश की, लेकिन मैंने गलत कीवर्ड का इस्तेमाल किया। मुझे केवल कुछ परिणाम मिले। – sunpietro

उत्तर

3

आप एक घटक के एक वर्ग को जोड़ने के लिए की जरूरत है: React.findDOMNode(this).classList.add("classname");

निकालने के लिए: React.findDOMNode(this).classList.remove("classname");

आप componentWillUpdate में एक वर्ग को जोड़ने और componentDidUpdate में इसे हटाने के लिए कोशिश कर रहे हैं, तो आप आवश्यकता होगी परिवर्तन को नोटिस करने के लिए सेटटाइमआउट की तरह कुछ उपयोग करने के लिए। उदाहरण के लिए:

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 को बहिष्कृत किया गया है। इसके बजाय ReactDOM.findDOMNode का उपयोग करें ('प्रतिक्रिया-dom')। – Spyros

+0

आप शायद उस घटक को 'घटकWillUnmount' में साफ़ करना चाहते हैं। – IliasT