0
0

jetpack compose navigationでViewModelから遷移データを取得する

Posted at

はじめに

こんかいはJetpack composeNavigationを使った遷移時にデータを渡すとき、ViewModel側で取得する方法を紹介していきます

本文

まず、遷移ロジックです

composable(
    "${HogeDestionation.Hoge.route}/{hoge}",]
    arguments = listOf(
        navArgument("hoge") { type = NavType.StringType },
    )
) {
    HogeScreen()
}

internal fun NavController.navigateToHoge(hoge: String) {
    navigate("${HogeDestination.Hoge.route}/$hoge")
}

次に受け取り側の処理です
ViewModel内に下記を記述します

val hoge = checkNotNull(savedStateHandle["hoge"])

こうすることでViewModel内でも遷移データを使うことができます

さいごに

備忘録としての役割が強いですが、どなたかのお役に立てれば幸いです

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0