android 在这种情况下,mutableStateOf似乎失败

vq8itlhq  于 2023-01-15  发布在  Android
关注(0)|答案(1)|浏览(126)

我有一个有趣的

class RoleState(
    var roles: List<String> = emptyList(),
    var selectedRoles: List<String> = emptyList()
)

在我视图模型中,我有

var rolesState by mutableStateOf(RoleState())


以下

rolesState = rolesState.copy(
    selectedRoles = result.data ?: kotlin.run {
        _eventFlow.emit(value =UiEvent.ShowSnackbar(uiText = UiText.errorUnknown()))
        return@launch
    }
)

通常.copy可以工作,但现在发出未解析的参考:复制
我能想到的唯一原因是State类只需要是primitives和Data类?

crcmnpdw

crcmnpdw1#

RoleState必须是一个数据类才能让编译器创建一个copy函数。如果你不想让它成为一个数据类,你必须自己提供/实现复制函数。
有关更多信息,请参见数据类上的documentation

相关问题