Avatar ·

خطأ التفويض: State<List<User?>> لا يحتوي على طريقة getValue في Jetpack Compose

مرحبًا! أنا أتعلم Jetpack Compose وأحاول استخدام mutableStateListOf لقائمة المستخدمين، لكني أحصل على خطأ غريب في الترجمة.

إليك الكود الخاص بي:

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 // <--- الخطأ هنا
    LazyColumn {
        items(users) { user ->
            Text(user?.name ?: "غير معروف")
        }
    }
}

المترجم يعطي:

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

لقد استخدمت بالفعل تفويض by مع mutableStateOf العادي