30 open-source projects similar to reacttraining/react-router, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best React Router alternative.
Reach Router is a client-side routing library for React applications that maps URL patterns to components without full page reloads. It defines navigation rules and component rendering through declarative route configuration, using nested React component trees instead of separate configuration files. The library supports parent-child route hierarchies so shared UI elements persist across page transitions, and provides a declarative Navigate component that triggers URL changes and view updates when rendered. It extracts dynamic segments from URL patterns and passes them as props to matched rou
page.js is a client-side JavaScript router for single-page applications that maps URL patterns to executable functions. It functions as a navigation engine and browser history manager, implementing a middleware-based path-mapping system similar to the Express web framework. The library distinguishes itself through an Express-style router model, utilizing a middleware callback chain and a shared context object to pass data between navigation handlers. It supports advanced window management, allowing for multiple router instances to handle navigation independently across different windows or em
This project is a client-side routing tutorial and learning resource for integrating routing into React web applications. It provides a series of incremental, runnable applications and guides to teach users how to map URLs to components and manage navigation state within a browser. The resource includes practical implementation guides for configuring nested routes, capturing dynamic URL parameters, and handling index routes. It also provides examples of server-side rendering to demonstrate how to generate HTML on the server to improve initial load speeds and search engine optimization. The t
Vue.js Client-Side Router is a routing library for Vue.js that synchronizes the browser URL with application state to enable single-page application navigation. It functions as a URL-to-component mapper, rendering specific components based on the current URL path and dynamic route patterns. The project serves as a browser history manager that controls how internal routes map to the browser URL using various history strategies. It also provides a navigation guard framework to execute logic and access control during route transitions. The library covers dynamic route management, programmatic U
jscamp is a full-stack web development and education project focused on mastering JavaScript, TypeScript, and AI integration. It provides a structured curriculum and interactive exercises covering language fundamentals, frontend engineering, and backend API development. The project distinguishes itself through the implementation of autonomous AI agents capable of complex task automation, such as modifying files, managing servers, and executing API calls. It includes advanced AI development tools for conversational querying, real-time code suggestions, and automated repository analysis to gene
React Router is a client-side routing library and declarative routing engine for React applications. It functions as a navigation tool that synchronizes the user interface with the browser address bar, allowing for view transitions without full page reloads. The library maps browser URLs to specific UI components, enabling declarative route management. This ensures the user interface stays in sync with the browser URL to support deep linking and bookmarking. The system covers client-side navigation and application state synchronization through the integration of the browser history interface
Director is a routing library for JavaScript that handles URL and command-line pattern matching across client-side, server-side, and CLI environments. It provides a unified approach to defining routes as nested object literals, where each key maps to a URL segment and its handler, supporting both hash fragment monitoring and the HTML5 History API for browser navigation without page reloads. The library distinguishes itself through its ability to operate in multiple contexts with a single routing paradigm. It supports asynchronous handler queue execution for sequential tasks like authenticatio
Vue.js Client-Side Router is a routing library that maps browser URLs to Vue.js components to enable the creation of single-page applications. It functions as a navigation engine that manages browser history and URL state to allow page transitions without full browser reloads. The system utilizes a nested route manager to render hierarchical views that match complex URL structures. It includes navigation guard middleware to intercept, validate, or redirect route transitions before components are rendered. A client-side history handler synchronizes application state with the browser URL using
This project is a pre-configured foundation for web applications, providing a structured codebase and build tools for starting new frontend projects. It serves as a boilerplate that integrates React for the user interface, Redux for state management, and React-Router for navigation. The architecture is distinguished by its use of nested route definitions to handle hierarchical navigation and a system for dynamic reducer injection, which allows state management logic to be added to the store at runtime as specific modules load. The toolkit covers a broad range of frontend capabilities, includ
This library is a browser history API wrapper and client-side routing state manager. It provides a programmatic interface for managing the browser session history stack and synchronizing application state changes with the URL. The project functions as a JavaScript session history manager that enables custom navigation and routing control. It handles the synchronization of client-side routing state to ensure consistent back and forward movements within the browser. The system covers broader capabilities including browser session history management and general JavaScript navigation control.
path-to-regexp is an HTTP route matcher and regular expression generator that transforms parameterized path strings into regular expressions for matching web addresses. It functions as a URL route parser and pattern compiler, enabling the conversion of human-readable path templates into functional expressions for routing. The project provides capabilities for extracting named parameters and wildcards from URLs based on defined path patterns. It also handles the reverse process of dynamic path generation, transforming key-value pairs into formatted path strings by injecting values into defined
Choo is a minimalist frontend framework providing a tiny foundation for building web applications. It functions as an event-driven application core that decouples business logic from rendering and includes a client-side router to manage browser history and URL mapping without page reloads. The project distinguishes itself through an architecture that combines a server-side rendering engine for generating static HTML strings with a stateful UI component library. This allows for the creation of self-contained interface elements that maintain internal data and persist across global renders. The
Wouter is a minimalist client-side routing library for React and Preact. It uses a hook-based system to map URL paths to components, managing navigation and URL state without requiring a mandatory provider. The library is designed for cross-ecosystem compatibility between React and Preact and supports server-side rendering by accepting initial paths and search strings during markup generation. It includes a URL parameter manager for extracting dynamic path segments and query strings from the browser address bar. Capabilities include hierarchical nested routing, programmatic navigation manage
JLRoutes is an iOS URL routing library and route management framework. It serves as a deep link handler that maps URL patterns to specific code blocks or object handlers to manage navigation and deep-linking within an application. The framework utilizes a chain-based evaluation system to process sequences of potential matches and supports the organization of routing tables into distinct sets based on URL schemes. It allows for the replacement of standard matching logic through custom definition resolution to control how paths are parsed. The system covers URL pattern mapping, dynamic paramet
Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and reactive UI framework, providing a system to synchronize application state with visual elements to ensure interfaces update instantly. The toolkit includes a built-in client side router that maps browser URL paths to specific components without reloading the page. It also features an integrated HTTP request client for performing asynchronous network calls to remote APIs for data retrieval and transmission. The framework covers broad capabilities for frontend development, incl
Eros-FE is a TypeScript web frontend designed as a React-based single page application. It provides a component-driven user interface for interacting with backend services and managing application state through a type-safe client. The project utilizes a client-side route manager to swap visible components without full page refreshes and employs a CSS-in-JS styling framework to tie component logic directly to visual presentation. The application covers frontend interface design, client-side state management, and the integration of browser interfaces with backend APIs.
Mithril.js is a JavaScript UI framework designed for building single page applications. It functions as a virtual DOM library and a toolkit for creating dynamic user interfaces that synchronize application state with the browser display. The project integrates a client side router for mapping URLs to specific views and a built-in XHR data fetcher for sending and receiving information from servers. These components allow for navigation and content updates without requiring full page reloads. The framework covers user interface state management and asynchronous data fetching, utilizing virtual
Turbolinks is a JavaScript library that accelerates HTML page transitions by replacing the page body via network requests instead of performing full browser refreshes. It functions as a client-side navigation manager that intercepts link clicks and controls the page visit lifecycle to simulate a single-page application experience. The library synchronizes the browser URL and history stack with partial page updates and utilizes a caching mechanism to store visited page states. This allow for instant previews and restoration of state when navigating backward or forward. It also includes a tool
Ember.js is a structured JavaScript web framework designed for building scalable web applications. It utilizes a Model-View-Controller architectural pattern and incorporates a component-based UI library, a dependency injection framework, and a client-side routing engine. The framework distinguishes itself through a centralized registry for passing shared services across components and routes, alongside a routing system that maps URLs directly to templates and data models to manage navigation. Its broader capabilities include reactive state synchronization and computation memoization for UI p
This repository is a collection of learning resources, instructional materials, and practical reference implementations for the React library. It provides code snapshots, application boilerplates, and a repository of examples designed to support a structured curriculum for building React applications. The project offers specific implementation guides and samples for managing application state, mapping routes with shared layouts, and creating validated form systems. It includes versioned code snapshots, completed exercise references, and presentation materials to help users validate their prog
vue-element-admin is a Vue.js admin dashboard template and frontend project boilerplate designed for building administrative interfaces. It functions as a single page application that integrates the Element UI component framework to provide a structured starting point for web portals. The project provides scaffolding for enterprise web applications, specifically focusing on admin dashboard development. It includes built-in support for role-based access control to manage user permissions and restrict access to specific application views. The system covers broad capabilities in frontend build
React Router is a navigation and data-loading framework that maps URL patterns to nested component hierarchies. It functions as a full-stack router, coordinating server-side resource fetching with client-side hydration to synchronize application state across different environments. By providing a declarative interface for routing, it manages navigation and state transitions while ensuring consistent page structures through root layout management. The framework distinguishes itself through its focus on type safety and incremental adoption. It automatically generates static type definitions for
SvelteKit is a framework for full-stack web development that combines routing and server-side rendering to create websites with both client-side interactivity and server-side logic. It provides the infrastructure to build a variety of application types, including single page applications and static sites. The project utilizes an adapter-based deployment system to support multi-platform hosting. This allows a single codebase to be packaged for different environments, such as standalone Node servers, serverless edge deployments on Cloudflare, or hosted platforms like Vercel and Netlify. The fr
Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption
vue2-elm is a comprehensive Vue.js e-commerce reference application and single-page application boilerplate. It provides a foundational architecture for building complex online food delivery platforms, utilizing Vue 2 and Vuex for centralized state management. The project functions as a complete frontend template specifically tailored for food delivery services. It includes pre-configured user interface pages for merchant browsing, delivery address management, and the processing of food orders. The application covers a wide range of e-commerce capabilities, including shopping cart management
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
This is the comprehensive documentation website for the Vue 2 progressive JavaScript framework. It serves as a technical reference and development guide for building reactive user interfaces and single-page applications. The site provides a detailed JavaScript API reference and a web component directory. It covers the implementation of component-based architectures, reactive state management, and the use of a virtual DOM to synchronize application state with the browser. The documentation details capabilities including client-side routing, declarative DOM manipulation, and frontend build opt
Sapper is a universal web application framework and server-side rendering framework for Svelte. It enables the development of applications that render views on the server for fast initial loads and hydrate them on the client for subsequent interactivity. The project features a file-based routing engine that maps URL paths to components based on the file system structure. It also functions as a static site generator, exporting production-ready HTML, CSS, and JavaScript files for hosting in environments without a live server. The framework covers full-stack development capabilities, including
Omi is a web components framework, reactive UI library, and client-side routing engine. It provides a system for building modular and reusable interface elements based on standard browser web components, using signals to synchronize data changes and update the user interface automatically. The project functions as a cross-framework component tool, exporting standard web elements that operate consistently across different third-party JavaScript libraries. Its capabilities include single-page application navigation and view routing. It also covers reactive state management, component style man
This project is an education learning management system designed to track student progress and coordinate technical training paths within a software engineering curriculum. It is implemented as a React single page application that serves as a client for synchronizing student data and educational content. The application utilizes Redux for centralized state management to synchronize user progress across learning modules and integrates with a backend server via a REST API. The system covers student learning management and education workflow coordination, specifically focusing on curriculum pro