从不可组合函数中访问可组合函数

时间:2021-01-08 17:50:54

标签: android kotlin android-jetpack android-jetpack-compose

有什么方法可以使用 Android Jetpack Compose 从不可组合函数中访问可组合函数或 ambientOf 值吗?

例如,我在 val 中有一个 MainActivity,我想从一个不可组合的函数中访问/修改它。这可能吗?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:0)

您的可组合函数的心智模型在这里不太正确。从不可组合函数中调用可组合函数没有意义。

对于 ambientOf 的具体示例,环境值不存在于合成之外——您可以将环境值视为提供给合成树中“下方”的所有内容。在该树之外访问它不起作用:您无法读取它,因为它不存在于树之外(即使可以,它也始终没有价值),并且您无法写入它,因为存在树中没有对应的位置。