साझा UI State के लिए StateFlow
ऐसी प्रेक्षणीय स्थिति उजागर करें जिसे दोनों ऐप एकत्र कर सकें
साझा UI State के लिए StateFlow, CoddyKit पर Kotlin Multiplatform Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Kotlin Multiplatform Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Kotlin Multiplatform Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
स्थिति को धारक चाहिए
UI स्थिति कोई एक बार आने वाली धारा नहीं, बल्कि वह मान है जो इस समय हमेशा मौजूद रहता है। StateFlow ऐसी Flow है जो स्क्रीन के एक वर्तमान मान को सँभालकर रखती है।
इसमें हमेशा एक मान होता है
साधारण Flow के विपरीत, StateFlow गर्म होती है और हमेशा एक मान रखती है। नया कलेक्टर तुरंत नवीनतम स्थिति प्राप्त करता है; शुरुआत कभी खाली नहीं होती।
लिखने के लिए MutableStateFlow
आप प्रारंभिक मान देकर MutableStateFlow के साथ स्थिति बनाते हैं। यही लिखने योग्य हिस्सा है, जिसे आपका साझा तर्क समय के साथ अपडेट करता है।
private val _count = MutableStateFlow(0)केवल-पठन दृश्य दिखाएँ
म्यूटेबल फ़ील्ड को निजी रखें और उसे केवल-पठन StateFlow के रूप में दिखाएँ। UI उसे देख सकता है, लेकिन सीधे अंदर जाकर बदल नहीं सकता।
val count: StateFlow<Int> = _count.asStateFlow().value से अपडेट करें
म्यूटेबल प्रवाह पर .value सेट करके नई स्थिति लिखें। हर कलेक्टर को बदलाव की सूचना तुरंत मिल जाती है।
_count.value = _count.value + 1परमाणु अपडेट {}
सुरक्षित रूप से पढ़कर-फिर-लिखने वाले बदलावों के लिए update फ़ंक्शन को प्राथमिकता दें। यह दौड़ की स्थितियों के बिना वर्तमान मान से अगला मान निकालता है।
_count.update { current -> current + 1 }पठन अलग-अलग होते हैं
StateFlow केवल तभी मान जारी करती है जब मान वास्तव में बदलता है। वही मान दोबारा सेट करने पर उसे नज़रअंदाज़ कर दिया जाता है, इसलिए UI बिना कारण सक्रिय नहीं होता।
सत्य का एकमात्र स्रोत
अपनी स्क्रीन स्थिति एक StateFlow में रखें और दोनों ऐप उसी से पढ़ें। इससे आपका साझा तर्क स्क्रीन के लिए सत्य का एकमात्र स्रोत बन जाता है। ✨
पूरी स्क्रीन का मॉडल बनाएँ
अक्सर यह मान पूरी स्क्रीन का वर्णन करने वाली डेटा क्लास होती है। एक UiState ऑब्जेक्ट का अर्थ है कि UI अपनी ज़रूरत की हर चीज़ एक ही स्थान से पढ़ता है।
data class UiState(
val loading: Boolean = false,
val items: List<String> = emptyList()
)कलेक्ट नवीनतम मान प्राप्त करता है
जब कोई स्क्रीन कलेक्ट करना शुरू करती है, तो उसे तुरंत वर्तमान स्थिति और उसके बाद हर अपडेट मिल जाता है। न झिलमिलाहट होती है, न पहला रेंडर छूटता है।
StateFlow बनाम Flow
आने-जाने वाली घटनाओं के लिए साधारण Flow और हमेशा वर्तमान मान रखने वाली स्थिति के लिए StateFlow का उपयोग करें। UI को लगभग हमेशा StateFlow चाहिए होती है।
त्वरित जाँच
एक महत्वपूर्ण विचार को पक्का कर लें।
पुनरावलोकन
आपने StateFlow को सत्य के एकमात्र स्रोत के रूप में उपयोग किया: यह एक गर्म धारा है जो हमेशा स्क्रीन का वर्तमान मान रखती है और दोनों ऐप को उसे देखने के लिए तैयार रहती है। ✨
एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “साझा UI State के लिए StateFlow” पाठ निःशुल्क है?
हाँ—“साझा UI State के लिए StateFlow” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Kotlin Multiplatform Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Kotlin Multiplatform Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“साझा UI State के लिए StateFlow” में मैं क्या सीखूँगा?
ऐसी प्रेक्षणीय स्थिति उजागर करें जिसे दोनों ऐप एकत्र कर सकें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Kotlin Multiplatform Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Kotlin Multiplatform Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Kotlin Multiplatform Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“साझा UI State के लिए StateFlow” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Kotlin Multiplatform Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Kotlin Multiplatform Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Shared Code में Flow की मूल बातें
- साझा UI State के लिए StateFlow
- Operators: map, filter, combine
- Android और iOS पर Flows एकत्र करें