Bij*_*han 8 android android-viewmodel android-jetpack-compose
我正在尝试打开一个撰写详细信息页面,其中使用 hiltviewmodel() 添加了 Viewmodel 该视图模型具有分页数据状态和 API 调用结果状态,需要它来显示更新的数据以及列表。但是当我导航到详细信息页面时,viewmodel 方法被多次调用,甚至 init {} 块也被调用。有人遇到过类似的问题吗,或者有什么解决办法吗?
@OptIn(ExperimentalMaterialApi::class)
@Composable
fun DashboardScreen(
navController: NavController,
dashboardViewModel: DashboardViewModel = hiltViewModel(),
Name: String = ""
) {
val lazyArticleList = dashboardViewModel.articlePages.collectAsLazyPagingItems()
val dashState = dashboardViewModel.dashboardState.value
}
Run Code Online (Sandbox Code Playgroud)
不要将 ViewModel 初始化为默认参数,而是尝试先初始化 ViewModel,然后将其作为参数传递。当您的可组合项被重组时,ViewModel 可能会被实例化两次DashboardScreen
。
即,将您的可组合项更改为类似这样的内容
fun DashboardScreen(
navController: NavController,
dashboardViewModel: DashboardViewModel,
name: String = ""
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2057 次 |
最近记录: |