# reacttraining/react-router

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/reacttraining-react-router).**

56,473 stars · 10,877 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/ReactTraining/react-router
- Homepage: https://reactrouter.com
- awesome-repositories: https://awesome-repositories.com/repository/reacttraining-react-router.md

## Description

React Router is a client-side routing library for React that maps browser URLs to specific user interface components. It functions as a declarative navigation framework used to manage application state and navigation paths within single-page applications.

The library handles the extraction of dynamic URL parameters to render content based on the current browser path. It synchronizes application state with the browser URL, enabling the use of the back and forward buttons and allowing for bookmarking.

The framework covers declarative UI navigation and browser history management. It employs URL-driven route matching and nested route rendering to organize the structure and flow of a web interface.

## Tags

### Web Development

- [Declarative Routing Libraries](https://awesome-repositories.com/f/web-development/routing-systems/routing/frontend-navigation-systems/declarative-routing-libraries.md) — Provides a declarative framework for mapping URL patterns to component hierarchies in single-page applications. ([source](https://github.com/reacttraining/react-router#readme))
- [Browser History Management](https://awesome-repositories.com/f/web-development/browser-history-management.md) — Syncs application state with the browser URL to support bookmarking and standard back/forward navigation.
- [Client-side Routing](https://awesome-repositories.com/f/web-development/client-side-routing.md) — Manages navigation and view transitions within a web application without triggering full page refreshes.
- [Routing Libraries](https://awesome-repositories.com/f/web-development/frontend-development-tools/frontend-frameworks/component-authoring/react-ecosystem/react-libraries/routing-libraries.md) — Provides a specialized routing and navigation library for the React ecosystem within single-page applications.
- [History API Navigators](https://awesome-repositories.com/f/web-development/html5-compatibility-polyfills/history-api-polyfills/history-api-navigators.md) — Synchronizes application state with the browser's native pushState and replaceState APIs for seamless navigation.
- [Nested Routing](https://awesome-repositories.com/f/web-development/nested-routing.md) — Enables hierarchical navigation by rendering child components within parent layouts based on matched URL segments.
- [Dynamic Segment Extraction](https://awesome-repositories.com/f/web-development/routing-systems/routing/parameter-handling-utilities/path-parameter-converters/dynamic-segment-extraction.md) — Extracts named variable segments from URL paths to provide them as key-value pairs to matching components.
- [URL Parameter Extraction](https://awesome-repositories.com/f/web-development/url-parameter-extraction.md) — Extracts named or indexed variables from URL paths to render dynamic content based on the current browser path.

### Development Tools & Productivity

- [Route Pattern Matching](https://awesome-repositories.com/f/development-tools-productivity/regular-expressions/route-pattern-matching.md) — Matches the current browser address against defined patterns to determine which components to display.

### User Interface & Experience

- [Route Declarations](https://awesome-repositories.com/f/user-interface-experience/declarative-component-architectures/route-declarations.md) — Provides a declarative system for mapping URL paths to specific UI components using a component hierarchy.
- [Navigation Components](https://awesome-repositories.com/f/user-interface-experience/declarative-ui-components/navigation-components.md) — Uses declarative components to map specific URL paths to React components and organize interface flow.

### Software Engineering & Architecture

- [Single Page Applications](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/layering-presentation/application-layer-architectures/application-architecture-patterns/single-page-applications.md) — Provides the routing infrastructure necessary for building applications that update content dynamically on a single HTML page.

### Part of an Awesome List

- [React Ecosystem](https://awesome-repositories.com/f/awesome-lists/devtools/react-ecosystem.md) — Declarative routing for React applications.
