Skip to content

v5.3.0

Compare
Choose a tag to compare
@chaance chaance released this 03 Sep 21:55
· 1987 commits to main since this release

This release of react-router-dom adds support for passing a function to either the className or style props to conditionally apply values based on the link's active state.

This provides similar functionality as the existing activeClassName and activeStyle props, but is a bit more powerful. For example, you can now easily apply styles exclusively to an inactive NavLink as well. This offers a nicer experience for folks who use utility class-based CSS tools such as Tailwind.

function Comp() {
  return (
    <NavLink
      to="/"
      className={isActive =>
        `px-3 py-2 ${isActive ? 'text-gray-200' : 'text-gray-800'}`
      }
    >
      Home
    </NavLink>
  );
}

Note that as of v6.0.0-beta.3, the activeClassName and activeStyle props are removed completely. Adding support for functional className and style props to both v5 and v6 will give v5 users an easier upgrade path.

Thanks to @tim-phillips for raising the issue that inspired the change! 🥳