---
title: MinisRouter
description: >-
MinisRouter is the main routing component for Shop Minis that wraps React
Router's BrowserRouter and provides optional support for smooth navigation
transitions using the CSS View Transitions API.
api_name: shop-minis
source_url:
html: 'https://shopify.dev/docs/api/shop-minis/components/navigation/minisrouter'
md: 'https://shopify.dev/docs/api/shop-minis/components/navigation/minisrouter.md'
---
# MinisRouter
MinisRouter is the main routing component for Shop Minis that wraps React Router's BrowserRouter and provides optional support for smooth navigation transitions using the CSS View Transitions API. It should be placed at the root of your application to enable client-side routing.
#### Props
* **basename**
**string**
* **children**
**React.ReactNode**
* **viewTransitions**
**boolean**
* **window**
**Window**
Examples
### Examples
* ####
##### tsx
```tsx
import React from 'react'
import {MinisRouter} from '@shopify/shop-minis-react'
import {Routes, Route} from 'react-router'
import {HomePage, ProductPage, CartPage} from './pages'
function App() {
return (
} />
} />
} />
)
}
export default App
```
* ####
##### Description
Basic routing setup without transitions
##### tsx
```tsx
import React from 'react'
import {MinisRouter} from '@shopify/shop-minis-react'
import {Routes, Route} from 'react-router'
import {HomePage, ProductPage, CartPage} from './pages'
function App() {
return (
} />
} />
} />
)
}
export default App
```
* ####
##### Description
Enable smooth navigation transitions with CSS View Transitions API
##### tsx
```tsx
import React from 'react'
import {MinisRouter} from '@shopify/shop-minis-react'
import {Routes, Route} from 'react-router'
import {HomePage} from './HomePage'
import {ProductPage} from './ProductPage'
import {CartPage} from './CartPage'
function App() {
return (
// Enable view transitions for smooth navigation animations
} />
} />
} />
)
}
export default App
```
* ####
##### Description
Complete navigation setup with TransitionLink components
##### tsx
```tsx
import React from 'react'
import {
MinisRouter,
TransitionLink,
useNavigateWithTransition,
} from '@shopify/shop-minis-react'
import {Routes, Route} from 'react-router'
import {Button} from '@shopify/shop-minis-react'
function HomePage() {
const navigateWithTransition = useNavigateWithTransition()
return (
Home
{/* Use TransitionLink for smooth navigation with transitions */}
View Product
{/* Or use the hook for programmatic navigation */}
)
}
function ProductPage() {
const navigateWithTransition = useNavigateWithTransition()
return (
Product Details
{/* Navigate back with smooth transition */}
)
}
function App() {
return (
// Enable view transitions for the entire app
} />
} />
Cart Page} />
)
}
export default App
```
***