“登录完成跳转到首页”这个逻辑 Compose 怎么写最好?

2022-10-10 10:29:15 +08:00
 john6lq

我总结大致有以下几种:

  1. Activity监听LiveData跳转
  2. Compose UI 里使用LaunchEffect判断UIState跳转
  3. 直接在ViewModel中跳转(因为是另外一个Activity,项目使用ARouter

虽然都能达到目的,但还是想知道这其中有没有坑,有没有别的方法,最佳实践又是什么?

9123 次点击
所在节点    Android
4 条回复
learningman
2022-10-10 11:25:37 +08:00
另外一个 activity 不应该直接 start 过去吗
EgbertW
2022-10-11 00:26:27 +08:00
[philipplackner/SocialNetworkTwitch]( https://github.com/philipplackner/SocialNetworkTwitch)

可以参考这个项目,跳转的时候在 Composable 的界面里把 Navigate 的部分换成 `rememberLauncherForActivityResult` 或者直接 `startActivity` 都行

另外这个项目的作者在油管发的 Jetpack Compose 教学视频都不错的,想要学习所谓最佳实践的话可以看看
john6lq
2022-10-11 12:02:06 +08:00
john6lq
2022-10-11 12:02:44 +08:00
“ViewModel 应该告诉用户界面应用程序的状态是什么,UI 应该确定如何反映这
点。ViewModel 不应该告诉用产界面它应该采取哪些行动。”

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/885709

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX