【问题标题】:Accessing composable function from within non-composable function从不可组合函数中访问可组合函数
【发布时间】:2021-01-08 17:50:54
【问题描述】:

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

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

【问题讨论】:

  • 你能改进这个问题和/或提供你的方案吗?

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


【解决方案1】:

您对可组合函数的心智模型并不完全正确。从不可组合函数中调用可组合函数没有意义。

对于您的 ambientOf 的具体示例,环境值不存在于合成之外 - 您可以将环境视为提供给合成树中“下方”的所有内容。在那棵树之外访问它是行不通的:你不能读取它,因为它在树之外不存在(即使你可以,它总是没有价值),你不能写它,因为有树中没有对应的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2015-08-24
    • 2022-01-08
    • 2015-07-07
    • 1970-01-01
    • 2016-07-12
    相关资源
    最近更新 更多