Myroslav
Myroslav

Reputation: 1237

Navigation Compose Type Safety issue

I'm trying to use type safety feature in Jetpack Navigation Compose, but unfortunatelly I'm not able to use Kotlin's object as a route parameter in NavGraphBuilder.composable

Error is:

Type mismatch. 
Required: String

Related libraries used:

import androidx.compose.runtime.Composable
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController
import kotlinx.serialization.Serializable

@Composable
fun TestView() {

    val navController = rememberNavController()

    NavHost(navController = navController, startDestination = TestRoute) {
        composable(TestRoute) {} // <-- error
    }
}

@Serializable
object TestRoute

enter image description here

Please help me to understand, what is missing.

Upvotes: 0

Views: 542

Answers (1)

nevermore
nevermore

Reputation: 26

The destination is passed in not as a function argument, but as a generic parameter:

NavHost(controller, startDestination) {
    composable<TestRoute> { Content() } // <-- here
}

Upvotes: 1

Related Questions