--- 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 ``` ***