初识 derivedStateOf
首先看这样一段代码:
@Composable
fun TodoList(highPriorityKeywords: ArrayList<String> = arrayListOf("Review", "Unblock", "Compose")) {
val todoTasks = remember { mutableStateListOf<String>("huawei", "xiaomi", "oppo", "apple", "Compose") }
// 选择 todoTasks中 属于 highPriorityKeywords 的部分
val highPriorityTasks by remember(highPriorityKeywords) {
derivedStateOf { todoTasks.filter { highPriorityKeywords.contains(it) } }
}
Column(Modifier.fillMaxSize()) {
LazyColumn {
item {
Text(text = "add-TodoTasks", Modifier.clickable {
todoTasks.add("Review")
})
}
item {
Divider(
color = Color.Red, modifier = Modifier
.height(1.dp)