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
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
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
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
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
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
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
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
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
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
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
react-static is a React static site generator that transforms components into static HTML files to improve page load speed and search engine optimization. It functions as a progressive web app framework, exporting static HTML that hydrates into a full interactive application to enable real-time updates and instant navigation. The project distinguishes itself as a static site asset optimizer, using code-splitting and an asset prefetching queue to reduce perceived load times. It includes a dedicated MDX content processor to generate routes from Markdown files with JSX and frontmatter, as well a
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
after.js is a server-side rendering framework for React applications that integrates with React Router to coordinate data loading, routing, and hydration. It functions as both a rendering framework and a static site generator, capable of exporting pages as static HTML and JSON files for delivery via content delivery networks. The framework provides a server-side data fetching layer that populates component properties during the render process. It manages navigation through a system of status-code driven redirections and dynamic error handling, allowing the application to trigger redirects or
Barba is a JavaScript page transition library that intercepts browser navigation to swap page content and animate transitions without a full page refresh. It functions as an AJAX page loader and client-side navigation manager, coordinating the lifecycle of transitions through hooks and custom logic during view changes. The library distinguishes itself as a frontend animation orchestrator that triggers specific visual effects and scripts based on the source and destination of a website page. It employs a rules-based system to resolve which specific animation or transition to execute by matchin
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
Moon is a minimal reactive UI library for building user interfaces with a component composition framework, client-side routing, server-side rendering, and signals-based reactivity. It provides a virtual DOM diffing engine that computes minimal real DOM mutations, enabling efficient view updates by comparing in-memory UI representations against previous versions. The library distinguishes itself through a signals-based reactivity system that tracks data dependencies through observable signals, triggering targeted DOM updates only when values change. It implements a state driver pattern for uni