Avatar ·

Erreur de délégation : State<List<User>?> n'a pas de méthode getValue dans Jetpack Compose

Bonjour ! J'apprends Jetpack Compose et j'essaie d'utiliser mutableStateListOf pour une liste d'utilisateurs, mais j'obtiens une étrange erreur de compilation.

Voici mon code :

class MyViewModel : ViewModel() {
    var users: MutableStateList<User?> = mutableStateListOf()
    
    fun loadUsers() {
        viewModelScope.launch {
            val result = api.getUsers() // List<User>
            users.clear()
            users.addAll(result)
        }
    }
}

@Composable
fun UserListScreen(viewModel: MyViewModel) {
    val users by viewModel.users // <--- ERREUR ICI
    LazyColumn {
        items(users) { user ->
            Text(user?.name ?: "Inconnu")
        }
    }
}

Le compilateur affiche :

Type 'MutableStateList<User?>' has no method 'getValue(Nothing?, KProperty<*>)' and thus it cannot serve as a delegate

J'ai déjà utilisé la délégation by avec