2017-03-13 6 views
6

प्रतिक्रिया कहती है कि शुद्ध रेंडर प्रदर्शन को अनुकूलित कर सकता है। और अब प्रतिक्रिया PureComponent है। क्या मुझे हर जगह React.PureComponent का उपयोग करना चाहिए? या जब React.PureComponent उपयोग करने के लिए और जहां React.PureComponent उपयोग करने के लिए सबसे उचित स्थिति है?क्या मुझे हर जगह React.PureComponent का उपयोग करना चाहिए?

+0

हां और नहीं। यह वही बात है जो हर जगह pureRenderMixin का उपयोग कर रही है। – Chef

उत्तर

5

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

PureComponent को कुछ चेतावनियां प्रतिक्रिया डॉक्स में बहुत अच्छी तरह से समझाया गया है।

प्रतिक्रिया। PureComponent की चाहिएComponentUpdate() केवल वस्तुओं की तुलनात्मक रूप से तुलना करता है।

यदि आपके प्रोप परिवर्तन घोंसला वाले ऑब्जेक्ट में गहरे हैं तो आप गलती से प्रतिपादन अपडेट याद कर सकते हैं। PureComponent साधारण फ्लैट ऑब्जेक्ट्स/प्रोप के साथ या सरल तुलना के साथ किसी भी ऑब्जेक्ट में परिवर्तनों का पता लगाने के लिए इम्यूटेबलजेएस जैसे कुछ का उपयोग करके बहुत अच्छा है।

इसके अलावा, React.PureComponent की चाहिएComponentUpdate() पूरे घटक subtree के लिए प्रोप अपडेट छोड़ देता है। सुनिश्चित करें कि सभी बच्चे के घटक भी "शुद्ध" हैं।

PureComponent ही काम करता है जब भी अपने घटक के प्रतिपादन केवल रंगमंच की सामग्री और राज्य पर निर्भर करता है। यह हमेशा प्रतिक्रिया में मामला होना चाहिए लेकिन कुछ उदाहरण हैं जहां आपको सामान्य प्रतिक्रिया जीवन चक्र के बाहर फिर से प्रस्तुत करने की आवश्यकता है। आदेश PureComponent अपेक्षा के अनुरूप काम करने के लिए (फिर से प्रतिपादन लंघन तुम सच में होने की जरूरत नहीं है), अपने PureComponent के हर वंशज 'शुद्ध' (केवल रंगमंच की सामग्री और राज्य पर निर्भर) होना चाहिए।

+0

समझें। धन्यवाद! –

+1

मुझे खुशी है कि मैं मदद कर सकता हूं! यदि यह आपके प्रश्न का पूरी तरह उत्तर देता है, तो आप इसे भविष्य के उपयोगकर्ताओं को सूचित करने और हमारी दोनों प्रतिष्ठा बढ़ाने के लिए स्वीकृत उत्तर के रूप में चिह्नित कर सकते हैं! –

+0

क्या आप एक उदाहरण प्रदान कर सकते हैं जब कोई घटक प्रोप और राज्य का शुद्ध कार्य नहीं होगा? –

संबंधित मुद्दे