Compose State Slots और Content Lambdas
slot APIs के साथ components को लचीला बनाइए।
Compose State Slots और Content Lambdas, CoddyKit पर Jetpack Compose Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Jetpack Compose Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Jetpack Compose Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
घटकों को लचीला बनाएँ
स्लॉट किसी घटक को UI के एक हिस्से को पैरामीटर के रूप में स्वीकार करने देता है। कॉलर स्लॉट भरता है, इसलिए एक ही घटक कई डिज़ाइनों में काम आता है।
content लैम्ब्डा से परिचय
सबसे सामान्य स्लॉट trailing content लैम्ब्डा होता है, जिसका प्रकार @Composable () -> Unit है। ब्रेसिज़ के अंदर रखा गया कुछ भी उसका मुख्य भाग बन जाता है।
fun Card(content: @Composable () -> Unit) {
Surface { content() }
}स्लॉट को कॉल करना
आप स्लॉट को सामान्य लैम्ब्डा की तरह कॉल करते हैं। Compose कॉलर द्वारा दिए गए UI को वहीं चलाता है जहाँ आप content() को लागू करते हैं।
Card {
Text("Anything I want lives here")
}स्लॉट Boolean से बेहतर क्यों हैं
showIcon या showTitle जैसे कई फ़्लैग रखने के बजाय स्लॉट उपलब्ध कराएँ। कॉलर पूरी स्वतंत्रता के साथ ठीक वही संयोजन बना सकते हैं जिसकी उन्हें आवश्यकता है।
नामित स्लॉट
घटक कई स्लॉट दे सकते हैं, जिनमें से हर एक पैरामीटर होता है। Scaffold यह काम topBar, bottomBar और content के साथ करता है। 🧩
fun Banner(
title: @Composable () -> Unit,
action: @Composable () -> Unit
) { /* lay them out */ }स्कोप शक्ति बढ़ाते हैं
स्लॉट receiver लैम्ब्डा हो सकता है, जो कॉलर को सहायक सुविधाएँ देता है। Column के अंदर content का प्रकार ColumnScope.() -> Unit होता है, इसलिए weight काम करता है।
fun MyColumn(content: @Composable ColumnScope.() -> Unit) {
Column { content() }
}स्लॉट में डेटा भेजना
स्लॉट कॉलर को values दे सकते हैं। किसी सूची-पंक्ति का स्लॉट item भेज सकता है, ताकि कॉलर तय करे कि उसे कैसे दिखाना है।
fun Row(item: User, content: @Composable (User) -> Unit) {
content(item)
}स्लॉट स्टेट को होइस्ट रखते हैं
कॉलर स्लॉट की सामग्री देता है, इसलिए आपका घटक अपने अंदर की सामग्री के बारे में स्टेटलेस रहता है। मालिकाना स्पष्ट रहता है।
स्क्रीन के बीच पुनः उपयोग
स्लॉट वाले एक Card या Dialog से लगभग एक जैसे दर्जनों घटकों की आवश्यकता नहीं रहती। आप ढाँचा एक बार बनाते हैं और उसकी सामग्री बदलते हैं। ♻️
डिफ़ॉल्ट स्लॉट सामग्री
स्लॉट को एक उचित डिफ़ॉल्ट दें, ताकि सरल कॉलर उसे छोड़ सकें और उन्नत कॉलर उसे पूरी तरह बदल सकें।
fun Section(
header: @Composable () -> Unit = { Text("Section") },
content: @Composable () -> Unit
) { /* ... */ }स्लॉट वाली सोच
जब कोई घटक Boolean फ़्लैग इकट्ठा करने लगे, तो इसके बजाय स्लॉट अपनाएँ। लचीलापन UI भेजने से आता है, टॉगल से नहीं।
त्वरित जाँच
content स्लॉट लैम्ब्डा का मुख्य लाभ क्या है?
पुनरावलोकन
स्लॉट UI को @Composable लैम्ब्डा के रूप में स्वीकार करते हैं; वे वैकल्पिक रूप से स्कोप वाले हो सकते हैं या डेटा भेज सकते हैं। वे स्टेट को होइस्ट रखते हुए घटकों को लचीला बनाते हैं। 🚀
एआई शिक्षक के साथ Kotlin सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Compose State Slots और Content Lambdas” पाठ निःशुल्क है?
हाँ—“Compose State Slots और Content Lambdas” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Jetpack Compose Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Jetpack Compose Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Compose State Slots और Content Lambdas” में मैं क्या सीखूँगा?
slot APIs के साथ components को लचीला बनाइए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Jetpack Compose Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Jetpack Compose Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Jetpack Compose Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“Compose State Slots और Content Lambdas” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Jetpack Compose Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Jetpack Compose Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Stateful बनाम Stateless Composables
- value और onValueChange के साथ State hoist करना
- सत्य का एकमात्र स्रोत
- Compose State Slots और Content Lambdas