Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

how to make react router Link active

const Router = () => (
  <BrowserRouter>
    <div>
      <Nav>
        <NavLink exact={true} activeClassName='is-active' to='/'>Home</NavLink>
        <NavLink activeClassName='is-active' to='/about'>About</NavLink>
      </Nav>

      <Match pattern='/' exactly component={Home} />
      <Match pattern='/about' exactly component={About} />
      <Miss component={NoMatch} />
    </div>
  </BrowserRouter>
)
Comment

react-router-dom navlink active

<NavLink
  to="users"
  className={({ isActive }) => (isActive ? 'active' : 'inactive')}
>
  Users
</NavLink>
Comment

react router active link

// react router v6 active route
import * as React from "react";
import {
  Routes,
  Route,
  Outlet,
  Link,
  useMatch,
  useResolvedPath,
} from "react-router-dom";
import type { LinkProps } from "react-router-dom";

export default function App() {
  return (
    <div>
      <h1>Custom Link Example</h1>

      <p>
        This example demonstrates how to create a custom{" "}
        <code>&lt;Link&gt;</code> component that knows whether or not it is
        "active" using the low-level <code>useResolvedPath()</code> and
        <code>useMatch()</code> hooks.
      </p>

      <Routes>
        <Route path="/" element={<Layout />}>
          <Route index element={<Home />} />
          <Route path="about" element={<About />} />
          <Route path="*" element={<NoMatch />} />
        </Route>
      </Routes>
    </div>
  );
}

function CustomLink({ children, to, ...props }: LinkProps) {
  let resolved = useResolvedPath(to);
  let match = useMatch({ path: resolved.pathname, end: true });

  return (
    <div>
      <Link
        style={{ textDecoration: match ? "underline" : "none" }}
        to={to}
        {...props}
      >
        {children}
      </Link>
      {match && " (active)"}
    </div>
  );
}

function Layout() {
  return (
    <div>
      <nav>
        <ul>
          <li>
            <CustomLink to="/">Home</CustomLink>
          </li>
          <li>
            <CustomLink to="/about">About</CustomLink>
          </li>
        </ul>
      </nav>

      <hr />

      <Outlet />
    </div>
  );
}

function Home() {
  return (
    <div>
      <h1>Home</h1>
    </div>
  );
}

function About() {
  return (
    <div>
      <h1>About</h1>
    </div>
  );
}

function NoMatch() {
  return (
    <div>
      <h1>Nothing to see here!</h1>
      <p>
        <Link to="/">Go to the home page</Link>
      </p>
    </div>
  );
}
Comment

react-active link

<NavLink
  to="/faq"
  style={isActive => ({
    color: isActive ? "green" : "blue"
  })}
>
  FAQs
</NavLink>
Comment

react router active link css

<NavLink
          key={tab.id}
          className={(navData) =>
            navData.isActive ? styles.activeTab : styles.inactiveTab
          }
          to={tab.path}
        >
          {tab.name}
        
</NavLink>
Comment

PREVIOUS NEXT
Code Example
Javascript :: view my password jquery 
Javascript :: react array.map with return 
Javascript :: how to click on the datepicker date in jquery 
Javascript :: react join array of components 
Javascript :: setinterval js 
Javascript :: bun create react app 
Javascript :: get closest parent tr table row jquery 
Javascript :: import img react in another file 
Javascript :: Repeat a String Repeat a String 
Javascript :: Check object property exists or not in js 
Javascript :: js make id 
Javascript :: javascript convert timestamp to formatted date 
Javascript :: vue fix eslint error 
Javascript :: random id generator javascript 
Javascript :: add days in mome 
Javascript :: settimeout js for loop 
Javascript :: detect livewire is loading in javascript 
Javascript :: js if array is 2d 
Javascript :: how to access router from the store vue 
Javascript :: reload a child component in angular 
Javascript :: react import json 
Javascript :: get external api node js 
Javascript :: await on observable 
Javascript :: how to add property to object in javascript 
Javascript :: react native share image 
Javascript :: nodejs emit event from class 
Javascript :: get font size jquery 
Javascript :: get all days of month javascript 
Javascript :: How To Open Phone Dialer and Make Call From React Native App 
Javascript :: disabled radio button 
ADD CONTENT
Topic
Content
Source link
Name
5+1 =