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
Please help me to understand, what is missing.
The destination is passed in not as a function argument, but as a generic parameter:
NavHost(controller, startDestination) {
composable<TestRoute> { Content() } // <-- here
}