प्रतिक्रिया कहती है कि शुद्ध रेंडर प्रदर्शन को अनुकूलित कर सकता है। और अब प्रतिक्रिया PureComponent है। क्या मुझे हर जगह React.PureComponent का उपयोग करना चाहिए? या जब React.PureComponent उपयोग करने के लिए और जहां React.PureComponent उपयोग करने के लिए सबसे उचित स्थिति है?क्या मुझे हर जगह React.PureComponent का उपयोग करना चाहिए?
उत्तर
आप इसका इस्तेमाल करते हैं जब भी संभव हो जाना चाहिए। यदि आपके पास कई मामलों हैं जहां जड़ स्तर के घटक अपडेट होते हैं, तो बच्चों को ऐसा करने की आवश्यकता नहीं होने पर यह आपको समय प्रदान करने में काफी बचत करेगा। इसका अर्थ है कि आप अपने रूट स्तर नोड्स में PureComponent का उपयोग करने से भी बहुत कुछ हासिल होगा (यानी PureComponent समग्र प्रदर्शन पत्ती स्तर के घटकों में के रूप में ज्यादा सुधार नहीं होगा क्योंकि यह केवल बचत होती है कि घटक से renders)।
PureComponent को कुछ चेतावनियां प्रतिक्रिया डॉक्स में बहुत अच्छी तरह से समझाया गया है।
प्रतिक्रिया। PureComponent की चाहिएComponentUpdate() केवल वस्तुओं की तुलनात्मक रूप से तुलना करता है।
यदि आपके प्रोप परिवर्तन घोंसला वाले ऑब्जेक्ट में गहरे हैं तो आप गलती से प्रतिपादन अपडेट याद कर सकते हैं। PureComponent साधारण फ्लैट ऑब्जेक्ट्स/प्रोप के साथ या सरल तुलना के साथ किसी भी ऑब्जेक्ट में परिवर्तनों का पता लगाने के लिए इम्यूटेबलजेएस जैसे कुछ का उपयोग करके बहुत अच्छा है।
इसके अलावा, React.PureComponent की चाहिएComponentUpdate() पूरे घटक subtree के लिए प्रोप अपडेट छोड़ देता है। सुनिश्चित करें कि सभी बच्चे के घटक भी "शुद्ध" हैं।
PureComponent ही काम करता है जब भी अपने घटक के प्रतिपादन केवल रंगमंच की सामग्री और राज्य पर निर्भर करता है। यह हमेशा प्रतिक्रिया में मामला होना चाहिए लेकिन कुछ उदाहरण हैं जहां आपको सामान्य प्रतिक्रिया जीवन चक्र के बाहर फिर से प्रस्तुत करने की आवश्यकता है। आदेश PureComponent अपेक्षा के अनुरूप काम करने के लिए (फिर से प्रतिपादन लंघन तुम सच में होने की जरूरत नहीं है), अपने PureComponent के हर वंशज 'शुद्ध' (केवल रंगमंच की सामग्री और राज्य पर निर्भर) होना चाहिए।
समझें। धन्यवाद! –
मुझे खुशी है कि मैं मदद कर सकता हूं! यदि यह आपके प्रश्न का पूरी तरह उत्तर देता है, तो आप इसे भविष्य के उपयोगकर्ताओं को सूचित करने और हमारी दोनों प्रतिष्ठा बढ़ाने के लिए स्वीकृत उत्तर के रूप में चिह्नित कर सकते हैं! –
क्या आप एक उदाहरण प्रदान कर सकते हैं जब कोई घटक प्रोप और राज्य का शुद्ध कार्य नहीं होगा? –
- 1. क्या मुझे हर जगह std :: और boost :: उपसर्ग का उपयोग करना चाहिए?
- 2. क्या मुझे हर शीर्षलेख शामिल करना चाहिए?
- 3. मुझे क्या gacutil.exe का उपयोग करना चाहिए?
- 4. क्या मुझे ढांचे का उपयोग करना चाहिए?
- 5. क्या मुझे HttpRuntime.Cache का उपयोग करना चाहिए?
- 6. क्या मुझे jQuery.inArray() का उपयोग करना चाहिए?
- 7. क्या मुझे बूटस्ट्रैप का उपयोग करना चाहिए?
- 8. क्या मुझे jQuery.each() का उपयोग करना चाहिए?
- 9. क्या मुझे ProGuard का उपयोग करना चाहिए?
- 10. मैं हर जगह inverse_of का उपयोग क्यों नहीं करना चाहूंगा?
- 11. shared_ptr का उपयोग करते समय मुझे सिर्फ साझा_ptr घोषणा का उपयोग करना चाहिए या साझा_ptr को हर जगह घोषित करना चाहिए?
- 12. जब मुझे कुछ आइटम चाहिए, तो क्या मुझे इसके बजाय "int id" का उपयोग करना चाहिए?
- 13. क्या मुझे ओपनसीवी का उपयोग बंद करना चाहिए?
- 14. क्या एनएसआईएनटेगर वास्तव में हर जगह इस्तेमाल किया जाना चाहिए?
- 15. क्या मुझे स्कैला का अध्ययन करना चाहिए?
- 16. क्या मुझे वास्तव में विदेशी कुंजी का उपयोग करना चाहिए?
- 17. क्या मुझे अलार्ममेनगर या हैंडलर का उपयोग करना चाहिए?
- 18. मुझे क्या करना चाहिए?
- 19. क्या मुझे हर बार स्थान अपडेट के लिए पूछने पर एंड्रॉइड LocationManager.getBestProvider का उपयोग करना चाहिए?
- 20. क्या मुझे "5.12.0 का उपयोग करना चाहिए; चेतावनियों का उपयोग करना चाहिए;" एक पर्ल मॉड्यूल में?
- 21. सी # मुझे सूची का उपयोग कब करना चाहिए और मुझे सरणीसूची का उपयोग कब करना चाहिए?
- 22. क्या मुझे इस तरह का कंस्ट्रैक्स का उपयोग करना चाहिए?
- 23. मुझे ConcurrentSkipListMap का उपयोग कब करना चाहिए?
- 24. मुझे ईएमएफ का उपयोग क्यों करना चाहिए?
- 25. मुझे @properties का उपयोग क्यों करना चाहिए?
- 26. मुझे _aligned_malloc() का उपयोग कब करना चाहिए?
- 27. मुझे फ्लेक्स का उपयोग क्यों करना चाहिए?
- 28. मुझे glbindAttribLocation का उपयोग क्यों करना चाहिए?
- 29. सी # लॉगिंग। मुझे क्या उपयोग करना चाहिए?
- 30. मुझे सॉकेट.ओ का उपयोग क्यों करना चाहिए?
हां और नहीं। यह वही बात है जो हर जगह pureRenderMixin का उपयोग कर रही है। – Chef