# useRouter()

> 

Use `useRouter()` for imperative navigation.

```ts
const router = useRouter()
```

## Methods

- `push(to)`
- `replace(to)`
- `back()`
- `forward()`
- `go(delta)`
- `refresh()`
- `resolve(to)`

## Supported targets

All navigation methods support:

- string targets such as `'/blog/hello-world'`
- `{ path, query, hash }`
- `{ routeId, params, query, hash }`

Example:

```ts
await router.push({
  routeId: 'blog/[slug]/page',
  params: {
    slug: 'hello-world'
  }
})
```

## `refresh()`

`refresh()` re-fetches current route data without a full navigation.
