CompositionLocal - makstron/info GitHub Wiki
CompositionLocal використовується для неявної передачі даних у Composable.
Create a CompositionLocal
Use one of those builders
- compositionLocalOf - спричиняє додаткові витрати при початковій побудові дерева композиції, тому що всі складні функції, які читають поточне значення, повинні бути відстежені. Якщо значення часто змінюватиметься, то compositionLocalOf, можливо, буде кращим вибором. Приклади реалізацій: LocalConfiguration, LocalAlpha та ін.
- staticCompositionLocalOf - зазвичай потрібен, коли Composition Local використовується величезною кількістю componable-функцій і значення навряд чи змінюватиметься. Приклади реалізації: LocalContext, LocalLifecycleOwner
val LocalAppColorShame = staticCompositionLocalOf {
AppColorScheme(
oneColor = Color.Unspecified
)
}
CompositionLocalProvider(
LocalAppColorShame provides colorScheme,
) {
content()
}
https://developer.android.com/reference/kotlin/androidx/compose/runtime/CompositionLocal