Bha*_*mar 9 navigation android android-jetpack-compose
我正在撰写屏幕上工作,在打开应用程序时,我将用户重定向到个人资料页面。如果个人资料完整,则重定向到用户列表页面。
我的代码如下
@Composable
fun UserProfile(navigateToProviderList: () -> Unit) {
val viewModel: MainActivityViewModel = viewModel()
if(viewModel.userProfileComplete == true) {
navigateToProviderList()
return
}
else {
//compose elements here
}
}
Run Code Online (Sandbox Code Playgroud)
但该应用程序正在闪烁,并且在登录时,我可以看到它一次又一次地调用上述重定向条件。在浏览文档时,它提到我们应该仅通过回调进行导航。我在这里如何处理这种情况?我这里没有 onCLick 条件。
Phi*_*hov 10
可组合函数的内容可以被多次调用。
如果您需要在可组合项内执行某些操作,则需要使用副作用
在这种情况下LaunchedEffect应该工作:
LaunchedEffect(viewModel.userProfileComplete == true) {
if(viewModel.userProfileComplete == true) {
navigateToProviderList()
}
}
Run Code Online (Sandbox Code Playgroud)
在键(第一个参数LaunchedEffect)中,您需要指定一些键。自上次重组以来,每次此键发生变化时,都会调用内部代码。你可以放在Unit那里,在这种情况下,当视图出现在第一个位置时,它只会被调用一次
| 归档时间: |
|
| 查看次数: |
2011 次 |
| 最近记录: |