Skip to content

Route Management(useRoute)

Cross-platform routing unified wrapper with automatic params encoding.

Basic Usage

typescript
import { useRoute } from '@/uni_modules/see-u-ui/utils/hooks/useRoute'

const {
  navigateTo,
  redirectTo,
  switchTab,
  reLaunch,
  navigateBack,
  currentRoute,
  getQuery
} = useRoute()

API

Returns

Property/MethodTypeDescription
navigateTo(options: RouteOptions) => Promise<void>Navigate to new page (push)
redirectTo(options: RouteOptions) => Promise<void>Redirect to new page (replace)
switchTab(options: RouteOptions) => Promise<void>Switch tab page
reLaunch(options: RouteOptions) => Promise<void>Close all pages and open new page
navigateBack(delta?: number) => Promise<void>Go back, default delta=1
currentRouteRef<{ path: string; params: Record<string, any> }>Current route info
getQuery<T = Record<string, string>>() => TGet current page params

RouteOptions

PropertyTypeRequiredDescription
urlstringYesTarget page path
paramsRecord<string, any>NoRoute params, auto encoded
eventsRecord<string, Function>NoPage communication events
animationTypestringNoPage animation type (APP only)

animationType Values

ValueDescription
autoAuto select animation
noneNo animation
slide-in-rightSlide in from right
slide-in-leftSlide in from left
fade-inFade in
zoom-outZoom out
zoom-fade-outZoom fade out
pop-outPop out

Examples

Basic Navigation

typescript
const { navigateTo } = useRoute()

await navigateTo({ url: '/pages/detail/index' })
typescript
const { navigateTo } = useRoute()

// Params are automatically encodeURIComponent(JSON.stringify(params))
await navigateTo({
  url: '/pages/detail/index',
  params: { id: '123', name: 'test' }
})

// Get params in target page
const { getQuery } = useRoute()
const params = getQuery<{ id: string; name: string }>()
console.log(params.id) // '123'

Go Back

typescript
const { navigateBack } = useRoute()

// Go back 1 page
await navigateBack()

// Go back 2 pages
await navigateBack(2)

Watch Current Route

typescript
const { currentRoute } = useRoute()

console.log(currentRoute.value.path)
console.log(currentRoute.value.params)

Platform Differences

PlatformImplementation
H5vue-router (conditional compilation)
Mini Programuni.navigateTo / uni.redirectTo etc.
APPuni.navigateTo / uni.redirectTo etc.

Liao ICP No. 2025070134