Recomposition की व्याख्या
जानें कि Compose UI को कैसे अद्यतन करता है।
Recomposition की व्याख्या, CoddyKit पर Android Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Android Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Android Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
पुनः-कम्पोज़िशन क्या है
पुनः-कम्पोज़िशन का अर्थ है कि Compose UI को अपडेट करने के लिए आपके कम्पोज़ेबल फ़ंक्शन को फिर से चलाता है, जब उनके द्वारा पढ़ी गई स्थिति बदलती है। इसी तरह स्क्रीन आपके डेटा के साथ समन्वय में रहती है।
स्थिति पढ़ने से शुरू होती है
Compose यह ट्रैक करता है कि कौन-से कम्पोज़ेबल कौन-सी स्थिति पढ़ते हैं। जब किसी स्थिति का मान बदलता है, तो केवल उन्हीं कम्पोज़ेबल को पुनः-कम्पोज़िशन के लिए निर्धारित किया जाता है जिन्होंने उसे पढ़ा था।
समझदार और चुनिंदा
पुनः-कम्पोज़िशन चुनिंदा होता है: Compose जितना संभव हो उतना कम दोबारा चलाने का प्रयास करता है। स्थिति के एक भाग में बदलाव होने पर पूरी स्क्रीन दोबारा नहीं बनती — केवल उस पर निर्भर भाग बनते हैं।
छोड़ देना
यदि किसी कम्पोज़ेबल के इनपुट नहीं बदले हैं, तो Compose उसे पूरी तरह से दोबारा चलाना छोड़ सकता है। इससे जटिल स्क्रीन पर भी पुनः-कम्पोज़िशन कम लागत वाला रहता है।
कम्पोज़ेबल अक्सर चलते हैं
पुनः-कम्पोज़िशन अक्सर और किसी भी क्रम में हो सकता है, इसलिए आपके कम्पोज़ेबल दोबारा चलाए जाने के लिए सुरक्षित होने चाहिए। समान स्थिति के लिए किसी कम्पोज़ेबल को कई बार कॉल करने पर वही UI बनना चाहिए।
साइड इफ़ेक्ट से बचें
किसी कम्पोज़ेबल की बॉडी में सीधे साइड इफ़ेक्ट न करें (नेटवर्क कॉल, फ़ाइलें लिखना, साझा चरों में बदलाव करना)। वे हर पुनः-कम्पोज़िशन पर चल सकते हैं। इसके बजाय स्थिति और इफ़ेक्ट API का उपयोग करें।
// BAD: runs on every recomposition
@Composable
fun Bad() {
saveToDatabase()
Text("Hi")
}क्रम पर निर्भरता नहीं
आप कम्पोज़ेबल के किसी विशेष क्रम या विशेष थ्रेड पर चलने पर निर्भर नहीं रह सकते। हर कॉल को स्वतंत्र मानें। यही स्वतंत्रता Compose को इतने प्रभावी ढंग से अनुकूलन करने देती है।
पढ़ना बनाम न पढ़ना
जब स्थिति बदलती है, तो केवल वही कम्पोज़ेबल फिर से कम्पोज़ होते हैं जो उस स्थिति को पढ़ते हैं। यदि कोई Text कभी count नहीं पढ़ता, तो count बदलने पर उस पर कोई असर नहीं पड़ेगा।
@Composable
fun Demo() {
var count by remember { mutableStateOf(0) }
Text("Static") // never recomposes from count
Text("Count: $count") // recomposes when count changes
Button(onClick = { count++ }) { Text("+") }
}बचने योग्य पुनः-कम्पोज़िशन लूप
कम्पोज़िशन के दौरान (किसी इवेंट के अंदर नहीं) स्थिति में लिखने से अनंत पुनः-कम्पोज़िशन लूप बन सकता है। स्थिति को केवल onClick जैसे कॉलबैक से अपडेट करें, बॉडी में सीधे कभी नहीं।
यह अपने-आप होता लगता है
आपके दृष्टिकोण से पुनः-कम्पोज़िशन अपने-आप होता है। आप UI को स्थिति के फ़ंक्शन के रूप में घोषित करते हैं, कॉलबैक में स्थिति बदलते हैं और Compose सही कम्पोज़ेबल को फिर से चलाने का काम संभालता है।
सब कुछ एक साथ
यह काउंटर पुनः-कम्पोज़िशन दिखाता है: टैप करने पर count बदलता है, Compose उसे पढ़ने वाले Text को फिर से चलाता है और नया नंबर दिखाई देता है।
@Composable
fun Counter() {
var count by remember { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text(text = "Count: $count")
}
}त्वरित जाँच
Compose किसी कम्पोज़ेबल को फिर से कब कम्पोज़ करता है?
पुनरावलोकन
पुनः-कम्पोज़िशन की आवश्यक बातें:
- स्थिति में बदलाव उस स्थिति को पढ़ने वाले कम्पोज़ेबल को फिर से चलाता है।
- यह चुनिंदा होता है और अपरिवर्तित कम्पोज़ेबल को छोड़ सकता है।
- कम्पोज़ेबल साइड इफ़ेक्ट से मुक्त होने चाहिए और किसी भी क्रम में फिर से चलाए जाने के लिए सुरक्षित होने चाहिए।
एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 36
- पाठ
- 152
अक्सर पूछे जाने वाले प्रश्न
क्या “Recomposition की व्याख्या” पाठ निःशुल्क है?
हाँ — Android Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Recomposition की व्याख्या” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Android Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Recomposition की व्याख्या” में मैं क्या सीखूँगा?
जानें कि Compose UI को कैसे अद्यतन करता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Android Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Android Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Android Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“Recomposition की व्याख्या” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Android Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Android Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- remember और mutableStateOf से स्थिति
- Recomposition की व्याख्या
- State Hoisting
- rememberSaveable