named-react-router
Version:
A lightweight extension to React Router for named routes
32 lines (31 loc) • 1 kB
TypeScript
import { RoutesProps } from 'react-router-dom';
import { ReactElement } from 'react';
/**
* Props for the NamedRoutes component.
* Includes children (ReactElements) to define nested named routes.
*/
type NamedRoutesProps = {
children: ReactElement[];
} & RoutesProps;
/**
* A component that transforms <NamedRoute> definitions into real <Route> elements
* for use with `react-router-dom`. Also collects named route data to enable
* named-route navigation via `useNamedNavigate`.
*
* @example
* ```tsx
* import { NamedRoutes, NamedRoute } from "named-react-router";
*
* export function AppRoutes() {
* return (
* <NamedRoutes>
* <NamedRoute name="home" path="/" element={<Home />} />
* <NamedRoute name="about" path="about" element={<About />} />
* <NamedRoute name="profile" path="profile/:id" element={<Profile />} />
* </NamedRoutes>
* );
* }
* ```
*/
export declare function NamedRoutes({ children }: NamedRoutesProps): ReactElement;
export {};