gpt4 book ai didi

android - 编译器在尝试获取对可组合函数的引用时抛出警告

转载 作者:行者123 更新时间:2023-12-04 23:45:26 25 4
gpt4 key购买 nike

我有一个问题,返回对可组合函数的引用被解释为调用可组合函数,导致编译器抛出以下警告消息:调用@Composable 函数的函数必须使用@Composable 注解 进行标记。 .我知道可组合函数只能在具有可组合上下文的函数内部调用,但是在这种情况下,我只是试图获取对该函数的引用而不是调用它。在下面的代码 fragment 中,content.value抛出警告消息。关于如何解决这个问题的任何想法?

private typealias ComposableUnitLambda = @Composable() () -> Unit
private val EmptyRoute: ComposableUnitLambda = {}

@Model
class ContentHolder(var value: ComposableUnitLambda = EmptyRoute)

@Navigator.Name("compose")
class ComposableNavigator : Navigator<Destination>() {
val current: ComposableUnitLambda
get() = content.value
}

最佳答案

根据指南,我只是在此处发布 @CommonsWare 评论中提供的解决方案.
删除 typealias应该解决这个问题

private ComposableUnitLambda = @Composable() () -> Unit
private val EmptyRoute: ComposableUnitLambda = {}

@Model
class ContentHolder(var value: ComposableUnitLambda = EmptyRoute)

@Navigator.Name("compose")
class ComposableNavigator : Navigator<Destination>() {
val current: ComposableUnitLambda
get() = content.value
}

关于android - 编译器在尝试获取对可组合函数的引用时抛出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59788559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com