С этим API вы уже знакомы
val LocalUser = compositionLocalOf { "GoodReads" }
@Composable
fun App() {
CompositionLocalProvider(LocalUser provides "AndroidGoodReads") {
UserProfile()
}
}
@Composable
fun UserProfile() {
val name = LocalUser.current
Text("Hello, $name")
}Внутри статьи рассказывают:
👉 Разбор внутреннего устройства: как связаны
CompositionLocal, ProvidableCompositionLocal и их различные вариации👉 Что на самом деле создают функции
compositionLocalOf, staticCompositionLocalOf и compositionLocalWithComputedDefaultOf, и в чем разница между результатами их работы👉 Механика работы
CompositionLocalProvider и свойства .current. Как правильно передавать локальные данные между различными композициями👉 Внутренняя кухня Compose: работа с
Value Holders, использование Persistent Maps и интеграция на уровне Composer👉 Рекомендации по оптимизации производительности и разбор типичных ошибок, которых следует избегать при использовании
CompositionLocal