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 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 :: javascript print random word from list 
Javascript :: js onclick change styles 
Javascript :: regex not contain 
Javascript :: emoji mart npm 
Javascript :: event.target data-target 
Javascript :: Array Pagination in JS 
Javascript :: javascript search dictionary by value 
Javascript :: async setstate useeffect 
Javascript :: cancel button in react js 
Javascript :: how to get data from url in vuejs 
Javascript :: jquery closert 
Javascript :: json stringify pretty 
Javascript :: find last element in array javascript 
Javascript :: sort string 2d array in javascript 
Javascript :: js add to array conditionally 
Javascript :: ReferenceError: primordials is not defined 
Javascript :: jquery checkbox unchecked 
Javascript :: VM1188:1 Uncaught TypeError: $ is not a function at <anonymous:1:1 
Javascript :: javascript regex check phone number 
Javascript :: foreach reverse javascript 
Javascript :: “javascript sleep 1 second” 
Javascript :: discord.js v13 client 
Javascript :: JavaScript Window - The Browser Object Model 
Javascript :: toggle class javascript 
Javascript :: how to handle navigation between multiple stack react native 
Javascript :: promise.allsettled polyfill node 
Javascript :: dinosaur game hacks 
Javascript :: javascript change nan to 0 
Javascript :: js conditional object 
Javascript :: jquery set inner text 
ADD CONTENT
Topic
Content
Source link
Name
2+7 =