import * as React from 'react'; import { Link as RouterLink, LinkProps as RouterLinkProps, MemoryRouter, StaticRouter, } from 'react-router'; import { ThemeProvider, createTheme } from '@mui/material/styles'; import Button from '@mui/material/Button'; import Stack from '@mui/material/Stack'; import Link, { LinkProps } from '@mui/material/Link'; const LinkBehavior = React.forwardRef< HTMLAnchorElement, Omit & { href: RouterLinkProps['to'] } >((props, ref) => { const { href, ...other } = props; // Map href (MUI) -> to (react-router) return ; }); function Router(props: { children?: React.ReactNode }) { const { children } = props; if (typeof window === 'undefined') { return {children}; } return {children}; } const theme = createTheme({ components: { MuiLink: { defaultProps: { component: LinkBehavior, } as LinkProps, }, MuiButtonBase: { defaultProps: { LinkComponent: LinkBehavior, }, }, }, }); export default function LinkRouterWithTheme() { return ( Link ); }