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 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 :: remove special characters in javascript 
Javascript :: hide div after 5 seconds vue js 
Javascript :: discord.js guildMemberRemove 
Javascript :: spotify web player 
Javascript :: get image as blob 
Javascript :: usecallback vs usememo 
Javascript :: remove duplicates multidimensional array javascript 
Javascript :: json_insert mysql 
Javascript :: django ajax body to json 
Javascript :: write to file but dont overwrite fs.writeFile node 
Javascript :: js add array to array 
Javascript :: jquery copy table to clipboard 
Javascript :: node get package.json version 
Javascript :: mongoBD increment 
Javascript :: How to send form data from react to express 
Javascript :: change property in array of objects javascript 
Javascript :: how to convert string to sentence case in javascript 
Javascript :: cookie options 
Javascript :: primitive data types in javascript 
Javascript :: axios httponly cookie 
Javascript :: get background image url jquery 
Javascript :: AWS JavaScript SDK node 
Javascript :: javascript arrow function 
Javascript :: stop() in jquery 
Javascript :: array.from js 
Javascript :: foreach modify array javascript 
Javascript :: how to give height through props 
Javascript :: sum of array of number 
Javascript :: discord.js embed timestamp 
Javascript :: jquery style top 
ADD CONTENT
Topic
Content
Source link
Name
7+7 =