Usage
Active
Set active
prop to add active styles to NavLink
. You can customize active styles with color
and variant
props:
Nested NavLinks
To create nested links put NavLink
as children of another NavLink
:
Polymorphic component
NavLink
is a polymorphic component – its default root element is a
, but it can be changed to any other element or component with component
prop:
You can also use components in component
prop, for example, Next.js Link
:
Polymorphic components with TypeScript
Note that polymorphic components props types are different from regular components – they do not extend HTML element props of the default element. For example,
NavLinkProps
does not extendReact.ComponentPropsWithoutRef'<'div'>'
althougha
is the default element.If you want to create a wrapper for a polymorphic component that is not polymorphic (does not support
component
prop), then your component props interface should extend HTML element props, for example:If you want your component to remain polymorphic after wrapping, use
createPolymorphicComponent
function described in this guide.