Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

With React Semantic UI use NavLink to set active page class?

Im using Semantic UI React and React Router. The NavLink componenet from React Router knows then its the active page link and can set an active class:

<NavLink to="/" exact activeClassName="active">Home</NavLink>

However this doesn't work with Semantic UI React:

    <Menu.Item
      header
      as={NavLink}
      to="./"
      children="Diplomat"
      activeClassName="active"
    />

I can see in the browser that the aria-current property is being set to true correctly. So NavLink does 'know' when its active but I cant pass this to Menu.Item.

like image 202
Evanss Avatar asked Nov 22 '17 05:11

Evanss


People also ask

When should I use NavLink?

The NavLink is used when you want to highlight a link as active. So, on every routing to a page, the link is highlighted according to the activeClassName . Link is for links that need no highlighting. And a is for external links.

What is activeClassName NavLink?

activeClassName: string The class to give the element when it is active. The default given class is active . This will be joined with the className prop. <NavLink to="/faq" activeClassName="selected"> FAQs </NavLink>


1 Answers

I made a mistake. I just needed an exact attribute and a different path. Now it works.

<Menu.Item header as={NavLink} exact to="/" children="Diplomat" />
like image 184
Evanss Avatar answered Oct 03 '22 14:10

Evanss