--- 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. It should be placed at the root of your application to enable client-side routing. 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' --- # Minis​Router 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 * #### Basic usage ##### Default ```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 ``` * #### Basic routing ##### Description Basic routing setup without transitions ##### Default ```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 ``` * #### With view transitions ##### Description Enable smooth navigation transitions with CSS View Transitions API ##### Default ```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 ``` * #### Full navigation example ##### Description Complete navigation setup with TransitionLink components ##### Default ```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 ```