react-router-declarative-mode

remix-run/agent-skills · updated Apr 8, 2026

$npx skills add https://github.com/remix-run/agent-skills --skill react-router-declarative-mode
0 commentsdiscussion
summary

Declarative mode is React Router's simplest mode using <BrowserRouter>, <Routes>, and <Route> for basic client-side routing without data loading features like loaders or actions.

skill.md

React Router Declarative Mode

Declarative mode is React Router's simplest mode using <BrowserRouter>, <Routes>, and <Route> for basic client-side routing without data loading features like loaders or actions.

When to Apply

  • Using <BrowserRouter> for routing
  • Configuring routes with <Routes> and <Route>
  • Navigating with <Link>, <NavLink>, or useNavigate
  • Reading URL params with useParams
  • Working with search params using useSearchParams
  • Accessing location with useLocation

References

Load the relevant reference for detailed guidance on the specific API/concept:

Reference Use When
references/routing.md Configuring routes, nested routes, dynamic params
references/navigation.md Links, NavLink active states, programmatic nav
references/url-values.md Reading params, search params, location

Critical Patterns

These are the most important patterns to follow. Load the relevant reference for full details.

Basic Route Setup

Configure routes with JSX using <Routes> and <Route>:

import { BrowserRouter, Routes, Route } from "react-router";

function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="about" element={<About />} />
        <Route path="dashboard" element={<Dashboard />}>
          <Route index element={<DashboardHome />} />
          <Route path="settings" element={<Settings />} />
        </Route>
        <Route path="users/:userId" element={<User />} />
      </Routes>
    </BrowserRouter>
  );
}

NavLink Active States

Use NavLink for navigation with active styling:

import { NavLink } from "react-router";

function Nav() {
  return (
    <nav>
      <NavLink
        to="/"
        end
        className={({ isActive }) => (isActive ? "active" : "")}
      >
        Home
      </NavLink>
      <NavLink
        to="/dashboard"
        className={({ isActive }) => (isActive ? "active" : "")}
      >
        Dashboard
      </NavLink>
    </nav>
  );
}

Reading URL Params

Use useParams to read dynamic route segments:

import { useParams } from "react-router";

function User() {
  const { userId } = useParams();
  return <h1>User {userId}</h1>;
}

Working with Search Params

Use useSearchParams for query string values:

import { useSearchParams } from "react-router";

function SearchResults() {
  const [searchParams, setSearchParams] = useSearchParams();
  const query = searchParams.get("q");

  return (
    <div>
      <input
        value={query || ""}
        onChange={(e) => setSearchParams({ q: e.target.value })}
      />
      <p>Results for: {query}</p>
    </div>
  );
}

Further Documentation

If anything related to React Router is not covered in these references, you can search the official documentation:

https://reactrouter.com/docs

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.754 reviews
  • Amelia Ghosh· Dec 28, 2024

    react-router-declarative-mode is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Hassan Bhatia· Dec 16, 2024

    Solid pick for teams standardizing on skills: react-router-declarative-mode is focused, and the summary matches what you get after install.

  • Pratham Ware· Dec 12, 2024

    Solid pick for teams standardizing on skills: react-router-declarative-mode is focused, and the summary matches what you get after install.

  • Alexander Singh· Dec 8, 2024

    I recommend react-router-declarative-mode for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Aisha Abbas· Dec 4, 2024

    react-router-declarative-mode has been reliable in day-to-day use. Documentation quality is above average for community skills.

  • Aisha Choi· Nov 23, 2024

    react-router-declarative-mode fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Alexander Harris· Nov 19, 2024

    react-router-declarative-mode reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Aisha Khan· Nov 7, 2024

    We added react-router-declarative-mode from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Sakshi Patil· Nov 3, 2024

    We added react-router-declarative-mode from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Olivia Martin· Oct 26, 2024

    react-router-declarative-mode fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

showing 1-10 of 54

1 / 6