awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
molefrog avatar

molefrog/wouter

0
View on GitHub↗
7,845 stars·185 forks·TypeScript·Unlicense·27 viewsnpm.im/wouter↗

Wouter

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 management, and the ability to configure global base paths. It provides utilities for route pattern matching, automatic redirection, and navigation interception. For automated testing, the library includes a memory-based routing simulation to mock URL states.

Features

  • View-to-URL Mapping - Uses a hook-based system to map URL paths to specific React or Preact components.
  • Client-Side Navigation Management - Provides programmatic control over browser location and conditional content rendering based on the current URL state.
  • Hook-Based Matching - Uses custom React hooks to determine which components to render by comparing the current URL against path patterns.
  • Nested Routing - Supports hierarchical route structures where child components match paths relative to a parent routing context.
  • Programmatic Navigation - Provides APIs for programmatically updating the browser location and tracking the current URL path.
  • Hook-Based Implementations - Implements a routing system using custom hooks to manage URL state, path matching, and navigation transitions.
  • Pattern-Matching Routers - Resolves request paths using string matching and regular expressions to trigger associated components.
  • Route Parameter Accessors - Provides hooks and utilities to retrieve dynamic values from matched URL path segments.
  • Dynamic Segment Extraction - Retrieves variable values from dynamic URL path segments to load specific data into components.
  • Preact Routers - Provides a lightweight routing solution compatible with both React and Preact ecosystems.
  • React Routers - Provides a minimalist routing solution specifically designed for the React and Preact component models.
  • Regex Path Matchers - Converts route patterns with dynamic segments into regular expressions to extract parameters from the window location.
  • URL State Mocking - Allows overriding the browser URL with a mock state for server-side rendering or automated testing environments.
  • Navigation Guards - Implements hooks to intercept navigation transitions for performing validation or executing side effects.
  • Search Parameters - Provides a standard interface for reading and updating URL query parameters in the address bar.
  • Client-Side Navigation Components - Ships custom anchor elements that handle client-side navigation and provide active-state styling.
  • Server-Side Rendering - Supports server-side rendering by accepting initial paths and search strings during the markup generation process.
  • SSR-Compatible Routing - Supports server-side rendering by accepting initial paths and search strings during the initial render.
  • URL State Management - Reads and updates search parameters in the browser address bar to maintain application state across page refreshes.
  • Routers and URL Utils - Declarative routing for React and Preact.
  • Routing Libraries - Tiny router with a React Router-like API.

Star history

Star history chart for molefrog/wouterStar history chart for molefrog/wouter

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does molefrog/wouter do?

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.

What are the main features of molefrog/wouter?

The main features of molefrog/wouter are: View-to-URL Mapping, Client-Side Navigation Management, Hook-Based Matching, Nested Routing, Programmatic Navigation, Hook-Based Implementations, Pattern-Matching Routers, Route Parameter Accessors.

Which projects share features with molefrog/wouter?

Projects with overlapping indexed features include: leptos-rs/leptos — Leptos is a full-stack Rust web framework designed for building reactive applications that share logic and types… vuejs/vue-router — Vue.js Client-Side Router is a routing library that maps browser URLs to Vue.js components to enable the creation of… reactjs/react-router — React Router is a client-side routing library and declarative routing engine for React applications. It functions as a… vuejs/router — Vue.js Client-Side Router is a routing library for Vue.js that synchronizes the browser URL with application state to… visionmedia/page.js — page.js is a client-side JavaScript router for single-page applications that maps URL patterns to executable… vuejs/vue — Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and…

Projects sharing features with Wouter

These projects share indexed features with Wouter. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • leptos-rs/leptosleptos-rs avatar

    leptos-rs/leptos

    20,993View on GitHub↗

    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

    Rustdomfine-grainedisomorphic
    View on GitHub↗20,993
  • vuejs/vue-routervuejs avatar

    vuejs/vue-router

    18,898View on GitHub↗

    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

    JavaScript
    View on GitHub↗18,898
  • reactjs/react-routerreactjs avatar

    reactjs/react-router

    56,440View on GitHub↗

    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

    TypeScript
    View on GitHub↗56,440
  • vuejs/routervuejs avatar

    vuejs/router

    4,638View on GitHub↗

    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

    TypeScriptvuevue-router
    View on GitHub↗4,638
Compare all 30 related projects→