<Link />
A React component for rendering a <a> that uses history navigation for local URLs. Supports ref forwarding.
API
export interface LinkProps
  extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
  href: string
  basePath?: string
}
export const Link: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>
Basic
This component is the preferred method of navigation, alongside the navigate function.
This component takes all the same parameters as the built-in <a> tag. It’s onClick will be extended to perform local navigation, and if it is inside a component returned from useRoutes it will have the provided basePath preprended to its href.
<Link href="/foo">
  go to foo
</Link>
BasePath
If a <Link> component is inside a router context (there is a useRoutes in its parent heirarchy) the basePath will be inherited. You can also provide a basePath as a <Link> prop, which will override an inherited one.
import { useRoutes, Link } from 'raviger'
function Home () {
  return (
    <div>
      <Link href="/foo" /> {/* href = /app/foo */}
      <Link href="/foo" basePath="/bar" /> {/* href = /bar/foo */}
    </div>
  )
}
const routes = {
  '/': () => <Home />
}
export default function App() {
  return useRoutes(routes, { basePath: 'app' })
  )
}
Ref Passing
Link supports the standard forwardRef API.