Ben*_*Tec 6 kotlin kotlin-android-extensions android-jetpack-compose
在使用存储在其中的 aViewModel和 a时List,我通常遵循以下方法:
var characteristics by mutableStateOf(listOf<Characteristic>())
Run Code Online (Sandbox Code Playgroud)
然后,我可以将数据分配给列表或修改它,并且 UI 将正确重构:
characteristics = issuesRepository.getCharacteristics()
characteristics = characteristics.plus(newCharacteristic)
Run Code Online (Sandbox Code Playgroud)
然而,我最近偶然发现了几种包含关键字 的方法mutableStateListOf(),然后将 List 分成两个单独的变量似乎是一种常见的做法,如下所示:
private val _characteristic = mutableStateListOf<Characteristic>()
val characteristic: List<Characteristic> = _characteristic
Run Code Online (Sandbox Code Playgroud)
这些方法有何不同,其中一种被认为是最佳实践还是一种更清洁的方法?
ngl*_*ber 16
使用mutableStateOf您正在创建一个可观察的对象。因此,只要将新实例分配给此状态,就会发生重组。假设您希望在将新项目添加到列表后进行重组。在这种情况下,您需要创建此列表的副本,将 elemento 添加到此复制的列表中,然后将复制的列表分配给状态。
创建mutableStateListOf一个可观察列表。您在此列表中执行的所有操作(添加、删除、更新)都将导致重组。
| 归档时间: |
|
| 查看次数: |
2182 次 |
| 最近记录: |