मेरे पास एक प्रतिक्रिया घटक है जो किसी इकाई के बारे में जानकारी प्रदर्शित करता है। इकाई की आईडी एक संपत्ति के माध्यम से पारित किया जाता है। घटक इकाई को लाने के लिए "घटकडिडमाउंट" में एक AJAX कॉल प्रारंभ करता है और जब कॉल पूर्ण/विफल होता है तो अद्यतन स्थिति होती है।ReactJS घटकों को AJAX कॉल को प्रोप से राज्य को अपडेट करने के लिए कब करना चाहिए?
यह ठीक काम करता है सिवाय इसके कि घटक इकाई डेटा बदलता है (प्रोप के माध्यम से) नया डेटा नहीं लाता है।
मैंने "घटकWillReceiveProps" में एक कॉल शुरू करने का प्रयास किया है, लेकिन उस चरण में घटक अभी भी पुराने गुण सेट है। मुझे AJAX कॉल विधि पर अगलीप्रॉप पास करना होगा और यह सही प्रतीत नहीं होता है।
किसी संपत्ति को बदलने के जवाब में घटक को असीमित रूप से अपडेट करने का सबसे अच्छा/साफ तरीका क्या है?
मुझे लगता है कि आप सबसे अच्छा पल उठाया। दस्तावेज़ों से: 'this.setState()' का उपयोग करके राज्य को अद्यतन करके 'रेंडर() 'कहा जाता है, इससे पहले एक प्रो ट्रांज़िशन पर प्रतिक्रिया करने का अवसर के रूप में इस (' घटकWillReceiveProps') का उपयोग करें। पुरानी प्रोप को इस.प्रॉप के माध्यम से एक्सेस किया जा सकता है। इस फ़ंक्शन के भीतर 'this.setState()' को कॉल करने से अतिरिक्त रेंडर ट्रिगर नहीं होगा। दूसरी तरफ, यदि आप कॉल से पहले घटक को अपडेट करना चाहते हैं, तो मुझे लगता है कि 'घटकडिड अपडेट' वह है जिसे आप ढूंढ रहे हैं। – gcedo
मेरा सुझाव है कि आप अपने डेटा हैंडलिंग को केंद्रीकृत करने पर विचार करें ताकि इन प्रकार के प्रवाहों को प्रबंधित करना आसान हो। – WiredPrairie
हाँ, मुझे लगता है कि पिता को उस क्रिया को निष्पादित करना चाहिए जो स्टोर में AJAX कॉल को ट्रिगर करता है। फिर स्टोर से प्राप्त डेटा को प्रोप के रूप में बच्चों को पास करें। – gcedo