दिलचस्प पोस्ट
फोनगैप परियोजनाओं में ऐप आइकन कैसे जोड़ें? Ggplot2 में अक्ष और क्षेत्र-भूखंड के बीच स्थान कैसे निकालना? डेटा-आईडी विशेषता कैसे प्राप्त करें? क्या मैं हेडोकू पर एक नोड.जेएस ऐप बनाते समय जीआईटी में नोड_मॉड्यूल में जांच करूँ? JSON.NET त्रुटि प्रकार के लिए स्वयं संदर्भित पाश पता चला जावा ट्रीआइम कंपैटर क्या सी ++ पुनरावर्ती प्रकार की परिभाषा संभव है, विशेष रूप से मैं टी की परिभाषा के भीतर एक वेक्टर <T> डाल सकता हूं? स्विफ्ट में ऐप प्रतिनिधि के संदर्भ में मुझे क्या मिलेगा? WCF विंडोज प्रमाणीकरण को समझना Devise + Omniauth – साथ अतिरिक्त पैरामीटर कैसे पास करें? गिट में, मैं वर्तमान प्रतिबद्ध हैश को एक ही कमिट में एक फ़ाइल में कैसे लिख सकता हूं? एक फ़ाइल डाउनलोड करते समय एक NSURL कनेक्शन के लिए एक प्रगति बार कैसे बना सकता है? PHP सरणी सी स्तर पर कैसे लागू होती है? सी ++ को मॉलोक () के लिए एक कलाकार की आवश्यकता क्यों है, लेकिन सी नहीं है? सीएसएस सेल मार्जिन

क्यों दस्तावेज़ डॉक्स को componentDidMount में AJAX करने की सलाह देते हैं, घटक नहीं WillMount?

शीर्षक यह सब कहते हैं मैं समझता हूं कि क्यों घटक DidMount किसी भी चीज़ के लिए उपयुक्त है जिसे DOM पहुंच की आवश्यकता है, लेकिन एक AJAX अनुरोध जरूरी या आमतौर पर इसकी आवश्यकता नहीं है।

क्या देता है?

वेब के समाधान से एकत्रित समाधान "क्यों दस्तावेज़ डॉक्स को componentDidMount में AJAX करने की सलाह देते हैं, घटक नहीं WillMount?"

componentDidMount दुष्प्रभावों के लिए है इवेंट श्रोताओं को जोड़ना, एजेएक्स, डोम बदलना आदि।

componentWillMount शायद ही उपयोगी होता है; खासकर यदि आप सर्वर साइड रेंडरिंग के बारे में ध्यान रखते हैं (ईवेंट श्रोताओं को त्रुटियों और लीक का कारण बनता है, और कई सारी चीज़ें जो गलत हो सकती हैं)

क्लास घटकों से componentWillMount WillMount को निकालने के बारे में बात है क्योंकि यह कन्स्ट्रक्टर के समान ही प्रयोजन करता है। यह createClass घटकों पर रहेगा।

मुझे शुरुआत में ही मुद्दा था, भी। मैंने componentWillMount विल्मउंट में अनुरोध करने का प्रयास करने का निर्णय लिया, लेकिन यह कई छोटे मुद्दों में समाप्त हो गया।

मैं नया डेटा के साथ अजेक्स कॉल समाप्त होने पर प्रतिपादन ट्रिगर कर रहा था। घटक के कुछ बिंदु पर प्रतिपादन से सर्वर से प्रतिक्रिया प्राप्त करने के लिए और अधिक समय ले लिया और इस समय अजाक्स कॉलबैक अनमाउंट घटकों पर रेंडर कर रहा था। यह बढ़त का मामला है लेकिन संभवत: अधिक है, इसलिए componentDidMount से चिपकने के लिए सुरक्षित है DIDMount

दस्तावेज के अनुसार componentWillMount में राज्य की स्थापना WILLMount फिर से प्रतिपादन नहीं करेगा। अगर एजेएक्स कॉल अवरुद्ध नहीं कर रहा है और आप सफलता के आधार पर घटक के राज्य को अपडेट करने वाले Promise वापस लौटाते हैं, तो संभावना है कि एक बार घटकों को प्रस्तुत करने के बाद प्रतिक्रिया आती है। componentWillMount रूप में componentWillMount फिर से रेंडर नहीं करता है, आपके पास अपेक्षित व्यवहार नहीं होगा जो कि अनुरोधित डेटा के साथ प्रदान किया गया घटक है।

यदि आप किसी भी फ्लक्स पुस्तकालयों का उपयोग करते हैं और स्टोर में समाप्त होने वाले अनुरोधित डेटा को घटक से जुड़ा हुआ है (या किसी कनेक्टेड घटक से प्राप्त होता है) यह कोई मुद्दा नहीं होगा क्योंकि उस डेटा का रिसेप्शन, सबसे अधिक संभावना, बदल जाएगा अंत में।