错误:在合成过程中创建状态对象时未使用memberedMutableState from androidx.compos



在我的代码中,我调用了一个可组合的函数:

ShowSomeComposable(
modifier = Modifier,
isActive = mutableStateOf(true),
) 

我可以编译它并在本地运行。但我的CI系统上的Lint检查抱怨道:

myFile.kt:147:错误:在合成过程中创建状态对象不使用memberedMutableState fromandroidx.compose.runtime]isActive=可变状态(true(,

那么我该如何替换?

我还不是专家,但从我在这里看到的情况来看https://developer.android.com/jetpack/compose/state#state-可堆肥

将建议您的代码工作为:

var isActiveValue by remember { mutableStateOf(true) }
ShowSomeComposable(
modifier = Modifier,
isActive = isActiveValue,
) 

这首先向我显示了警告,处理方法是检查您是否有这些导入(可以通过IDEA建议的操作或手动添加(

import androidx.compose.runtime.setValue
import androidx.compose.runtime.getValue

为什么需要在这里使用mutableState而不是简单的布尔值?

我的意思是,大多数时候,当我使用mutableStateOf时,我会在viewModel中或直接在可组合函数中使用它。例如:

var booleanVar by remember { mutableStateOf(true) }

相关内容

  • 没有找到相关文章

最新更新