30 open-source projects similar to reactjs/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.
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
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
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
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
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
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
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
This project is a cross-platform mobile navigation library and declarative routing engine. It maps components to named scenes within a centralized configuration to manage application flow and screen transitions. The system distinguishes itself through a variety of specialized navigation patterns, including a mobile drawer navigation system for side menus and a tab navigation framework for organizing top-level views. It also features a modal overlay manager for rendering screens as pop-ups or transparent lightboxes and a deep linking handler that maps incoming URIs to specific application scen
Auto Route is a type-safe routing framework for Flutter that utilizes compile-time code generation to manage application navigation. It replaces imperative push and pop commands with a declarative route configuration, allowing developers to define navigation hierarchies as structured objects. By automating the creation of navigation classes, the library ensures that route paths and arguments are validated during the build process. The framework distinguishes itself through its support for modular architecture, enabling the aggregation of independent route sets from separate modules into a sin
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
Fluro is a routing library for Flutter applications that provides a navigation system for mapping URL paths to screens. It functions as a URL path parser and page transition manager, utilizing declarative route definitions to organize how users move through an application. The library distinguishes itself through its support for wildcards and named parameters in route matching. It enables the extraction of dynamic path parameters and query strings to facilitate data transfer between views. The system covers comprehensive navigation capabilities, including the transfer of complex non-string d
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
Leptos is a full-stack Rust web framework designed for building reactive applications that share logic and types between the server and the browser. It provides a comprehensive toolkit for developing web interfaces where specific DOM nodes update automatically in response to changes in underlying reactive signals, rather than re-rendering entire component trees. The framework distinguishes itself through a fine-grained reactivity model that tracks dependencies at the individual data point level. It utilizes compile-time template transformation to convert declarative HTML-like syntax into opti
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
TanStack Router is a type-safe routing library for web applications that provides full type safety for paths, search parameters, and data loaders across the entire application stack. It functions as a comprehensive framework for server-side rendering, enabling the generation of complete HTML pages to improve initial load performance and search engine optimization. By integrating declarative data fetching, the library manages asynchronous information at the route level, supporting preloading, caching, and parallel request execution to ensure data is ready before components render. The project
go-app is a WebAssembly frontend framework and UI library for building progressive web apps using the Go programming language. It enables the execution of Go code directly in the browser to manage application logic and client-side views. The framework provides a component-based system for creating reusable interface elements with declarative syntax and automatic state synchronization. It includes a client-side router that maps URL paths to specific interface components to enable navigation within a single-page application. The project covers general frontend development capabilities, includi
Livewire is a full-stack framework for PHP that enables the development of reactive, dynamic user interfaces using server-side classes and templates. By bridging the gap between server-side logic and client-side DOM updates, it allows developers to build interactive web applications without writing custom JavaScript. The framework operates as a component-based library, where modular units encapsulate interface logic, state, and event handling directly on the server. The framework distinguishes itself through a reactive architecture that automatically synchronizes state between the browser and
Nuxt is a universal web framework designed for building full-stack applications that seamlessly transition between server-side rendering and client-side interactivity. It provides a comprehensive development environment that automates routing, dependency injection, and type generation, allowing developers to focus on application logic rather than manual configuration. By executing code in a platform-agnostic server engine, it supports deployment across diverse environments, including edge networks, serverless functions, and traditional Node.js runtimes. The framework distinguishes itself thro
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
nuqs is a TypeScript library for managing React component state through the browser's URL query string. It provides a type-safe hook-based approach that synchronizes component state with the address bar, enabling shareable and bookmarkable application states. The library handles parsing and serializing URL query parameters into typed JavaScript values, supporting integers, floats, booleans, dates, and custom types with bijectivity verification. The library distinguishes itself through its comprehensive approach to URL state management, combining batch URL updates that merge multiple parameter
Solito is a cross-platform navigation library and routing bridge that enables the development of mobile apps and web pages from a single codebase using React Native and Next.js. It functions as an orchestrator that synchronizes file-system based routing and screen logic across both platforms. The project provides a unified navigation interface that maps a single set of URLs to either web pages or native screens. This allows for synchronized linking and route parameters, ensuring that users land on the correct content regardless of whether they are using a browser or a mobile application. The
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
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
This is a foundational project structure for building scalable web applications using React. It provides a standardized directory structure and build tools to accelerate the bootstrapping of new projects, featuring a Redux architecture for predictable state management through unidirectional data flow and an immutable store. The project is distinguished by a command-line interface for generating standardized components, containers, and routes from predefined templates. It implements an offline-first framework using service workers to enable progressive web app functionality, alongside a compon
React Navigation is a cross-platform routing framework and navigation library designed to synchronize routing logic and navigation flows across Android, iOS, and web platforms. It functions as a mobile app router that coordinates transitions between different application views while maintaining a consistent navigation history. The project provides a system for managing screens and navigation state in React Native applications. It enables the definition of paths and the coordination of movement between views to maintain an organized flow throughout the user experience. The framework covers br
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
This is a comprehensive library of code examples and reference implementations for building cross-platform user interfaces with Flutter. The project provides a collection of demo applications and guides designed to illustrate the implementation of design patterns, animation techniques, and testing workflows. The repository features specific demonstrations for native integration, including examples of embedding modules into existing native applications, using platform channels, and bridging native code with the framework. It also serves as an animation reference, providing implementations for
This project is a pre-configured project foundation for building scalable web applications. It serves as a React application boilerplate and component scaffold designed to provide a scalable architecture and a foundation for long-term growth. The setup is characterized by an offline-first web framework that maintains application availability without an active network connection. It includes an internationalized UI foundation with integrated translation tooling and a modular CSS-in-JS setup for scoped, component-level styling. The boilerplate covers broader capability areas including automate
This project is a structured architectural layer for Backbone.js that implements the model-view-controller pattern for building complex single-page applications. It serves as a view management library and application framework that organizes views and data into manageable components and regions. The framework provides a centralized event aggregator pattern to coordinate communication between decoupled application modules without direct dependencies. It also includes a configuration-based client-side routing engine that maps browser URLs to specific controller actions. The system covers front