该值通过RememberSaveable在LazyPost中的几个视图中的一个视图中实时更改,但其他视图也发生了变化.
fun Post(
postData: PostData, viewModel: PostViewModel = hiltViewModel()
) {
val icCommentImagePainter = painterResource(R.drawable.ic_comment)
val postGoodCounts = rememberSaveable { mutableLongStateOf(postData.goodCounts) }
val goodStatus = rememberSaveable { mutableStateOf(postData.goodStatus ?: false) }
LaunchedEffect(true) {
viewModel.postGoodState.collect {
if (it.isSuccess) {
goodStatus.value = it.goodStatus ?: false
postGoodCounts.longValue = it.goodCounts
}
}
}
}
LazyColumn(
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier
.padding(horizontal = 30.dp)
.fillMaxWidth()
) {
items(postData) {
Column {
Post(postData = it)
HorizontalDivider(
color = CustomColor.Gray,
thickness = 1.dp,
modifier = Modifier.padding(bottom = 20.dp)
)
}
}
}