Skip to content

TanStack/router

beta
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

TanStack Router Header

🤖 Application Routing for JS/TS, React, Solid, Vue and Svelte

#TanStack semantic-release Join the discussion on Github Best of JS

Enjoy this library? Try the entire TanStack! React Query, React Table, React Charts, React Virtual

Visit tanstack.com/router for docs, guides, API and more!

Quick Features

  • Asynchronous routing
    • Promise-based route loaders & actions
    • Asynchronous route elements
    • Threshold-based pending route elements
    • Error boundary route elements
    • Code-splitting
    • Post-render async loader APIs (stale-while-revalidate, external cache integration)
    • Navigation batching with graceful replace/push escalation
  • Deeply integrated Search Params API
    • JSON-first Search Params
    • Full <Link> and useNavigate integration
    • Full cmd+click support
    • Search Param Immutability w/ Structural Sharing
    • Batched Updates / Functional Updates
    • Route Matching
    • Optional Compression w/ JSURL plugin or your own custom parser/serializer!
  • Hooks for everything: Router, Matches, Route Matching, Preloading
  • Optional route filtering/ranking
  • Prepackaged simple cache implementation for route loader caching
  • Easy Integration w/ external caches and storage (eg. React Query, Apollo, SWR, RTKQuery)