Awesome Open Source
Awesome Open Source

useReactRouter Tweet version minzipped size downloads build

useReactRouter is a React Hook that provides pub-sub behavior for react-router. Unlike the withRouter Higher-Order Component, useReactRouter will re-render your component when the location changes!

useReactRouter() returns an object that contains the history, location, and match properties that would be passed as props by the HOC.

A tutorial covering the design and development of this package can be found on Medium: How to Convert withRouter to a React Hook.

Why Pub-Sub?

Pub-sub behavior is a common request (that's commonly rejected) for the react-router package.

For users who adamently prefer pub-sub behavior over react-router's suggested alternatives, this package offers a solution.

A non-pub-sub React Hook is anticipated to eventually be included in the react-router package itself.


You must be using react-router and react-router-dom v5.0.0 or greater.

  • npm install use-react-router or
  • yarn add use-react-router


Import useReactRouter and use it as a React Hook.

import useReactRouter from 'use-react-router';

const MyPath = () => {
  const { history, location, match } = useReactRouter();
  return (
      My location is {location.pathname}!

Sponsor 💗

If you are a fan of this project, you may become a sponsor via GitHub's Sponsors Program.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
typescript (10,016
react (5,061
reactjs (1,009
npm (413
react-router (201
react-hooks (183
travis-ci (128
travis (47

Find Open Source By Browsing 7,000 Topics Across 59 Categories