remember और mutableStateOf
ऐसा state store कीजिए जो recomposition के बाद भी बना रहे।
remember और mutableStateOf, CoddyKit पर Jetpack Compose Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Jetpack Compose Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Jetpack Compose Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
State क्या है?
Compose में state ऐसा कोई भी मान है जो समय के साथ बदल सकता है और जिसकी आपके यूआई को परवाह है, जैसे काउंटर या टाइप किया गया नाम। 🙂
साधारण Variables काम नहीं करते
किसी Composable के भीतर सामान्य var अपना मान बदलता है, लेकिन Compose को इसका पता नहीं चलता, इसलिए स्क्रीन बिल्कुल वैसी ही रहती है।
var count = 0
Button(onClick = { count++ }) {
Text("Count: " + count)
}mutableStateOf से परिचय
किसी मान को mutableStateOf में लपेटने से एक ऐसा धारक बनता है, जिस पर नज़र रखी जा सकती है। जब उसका मान बदलता है, तो कम्पोज़ समझ जाता है कि उसे स्क्रीन फिर से बनानी है।
val count = mutableStateOf(0)
count.value = count.value + 1स्टेट रीड पर नज़र रखी जाती है
जो भी कम्पोज़ेबल किसी स्टेट का मान पढ़ता है, वह अपने-आप उससे subscribed हो जाता है। मान बदलने पर केवल वही रीडर अपडेट होते हैं।
रीकम्पोज़िशन का जाल
हर बार स्क्रीन फिर से बनने पर कम्पोज़ आपका फ़ंक्शन दोबारा चलाता है। हर बार नया mutableStateOf बनाने पर मान शून्य पर रीसेट हो जाएगा और आपका काम खो जाएगा।
बचाव के लिए remember
remember रीकम्पोज़िशन के दौरान किसी मान को सुरक्षित रखता है। कम्पोज़ उसे एक बार गणना करता है, फिर हर बार स्क्रीन दोबारा बनने पर वही इंस्टेंस लौटाता है।
val count = remember { mutableStateOf(0) }क्लासिक जोड़ी
आप लगभग हमेशा इन दोनों को साथ इस्तेमाल करेंगे: remember धारक को जीवित रखता है, जबकि mutableStateOf बदलावों पर नज़र रखने योग्य बनाता है। साथ मिलकर ये वास्तविक यूआई स्टेट रखते हैं।
by के साथ सरलता
by डेलीगेट का इस्तेमाल करें, ताकि आप मान को सीधे पढ़ और लिख सकें और हर बार शोर-भरे .value ऐक्सेस से बच सकें।
var count by remember { mutableStateOf(0) }
count++सब कुछ साथ जोड़ना
अपने Text में count पढ़ें और onClick में इसे बदलें। बटन दबाने पर संख्या अपडेट होगी और कम्पोज़ केवल उसी Text को फिर से बनाएगा।
var count by remember { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text("Tapped " + count)
}स्टेट किसी भी प्रकार का हो सकता है
स्टेट केवल संख्याओं के लिए नहीं है। आप इसमें String, Boolean या पूरी डेटा क्लास रख सकते हैं, और कम्पोज़ फिर भी हर बदलाव पर नज़र रखेगा।
var name by remember { mutableStateOf("") }अभी स्टेट को स्थानीय रखें
छोटे विजेट के लिए स्टेट को सीधे कम्पोज़ेबल के अंदर रखना ठीक है। बाद में आप इसे ऊपर ले जाएँगे, लेकिन शुरुआत करने के लिए स्थानीय स्टेट बिल्कुल सही है।
त्वरित जाँच
हम mutableStateOf को remember में क्यों लपेटते हैं?
पुनरावृत्ति
आपने सीखा कि remember और mutableStateOf मिलकर ऐसा स्टेट देते हैं जो रीकम्पोज़िशन के बाद भी बना रहता है और यूआई को अपने-आप अपडेट करता है। बहुत अच्छी शुरुआत! 🎉
एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “remember और mutableStateOf” पाठ निःशुल्क है?
हाँ—“remember और mutableStateOf” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Jetpack Compose Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Jetpack Compose Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“remember और mutableStateOf” में मैं क्या सीखूँगा?
ऐसा state store कीजिए जो recomposition के बाद भी बना रहे। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Jetpack Compose Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Jetpack Compose Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Jetpack Compose Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“remember और mutableStateOf” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Jetpack Compose Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Jetpack Compose Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- remember और mutableStateOf
- Recomposition: redraw किससे होता है
- Tap Counter बनाना
- Rotation के दौरान rememberSaveable