← ClaudeAtlas

web-navigationlisted

Navigation and routing patterns for React web applications. Use when implementing React Router, Next.js routing, deep links, or handling navigation state.
aiskillstore/marketplace · ★ 329 · Web & Frontend · score 79
Install: claude install-skill aiskillstore/marketplace
# Web Navigation (React) ## React Router (v6) ### Basic Setup ```typescript // App.tsx import { BrowserRouter, Routes, Route } from 'react-router-dom'; function App() { return ( <BrowserRouter> <Routes> <Route path="/" element={<HomePage />} /> <Route path="/about" element={<AboutPage />} /> <Route path="/users" element={<UsersPage />} /> <Route path="/users/:id" element={<UserDetailPage />} /> <Route path="*" element={<NotFoundPage />} /> </Routes> </BrowserRouter> ); } ``` ### Nested Routes & Layouts ```typescript // Layout with shared UI function DashboardLayout() { return ( <div className="dashboard"> <Sidebar /> <main> <Outlet /> {/* Child routes render here */} </main> </div> ); } // Routes <Routes> <Route path="/dashboard" element={<DashboardLayout />}> <Route index element={<DashboardHome />} /> <Route path="analytics" element={<Analytics />} /> <Route path="settings" element={<Settings />} /> </Route> </Routes> ``` ### Dynamic Routes ```typescript import { useParams, useSearchParams } from 'react-router-dom'; // Route: /users/:id function UserDetailPage() { const { id } = useParams<{ id: string }>(); const [searchParams, setSearchParams] = useSearchParams(); const tab = searchParams.get('tab') || 'profile'; return ( <div> <h1>User {id}</h1> <TabBar active={tab} onChange={(t) => setSearchParams({ tab: