by Sai gowtham

How to use the useHistory hook in React router

Learn, how to use the useHistory hook in react-router.

If your are new to hooks checkout my react hooks introduction tutorial.

useHistory hook

The useHistory hook helps us to access the history object, which is used to navigate programmatically to other routes using push and replace methods.

Here is an example:

App.js
import React from "react";
import { useHistory } from "react-router-dom";
export default function App() {
  const history = useHistory();
  function navigateToHome() {
    history.push("/");  }

  return (
    <div className="App">
      <h1>Hello react</h1>
      <button onClick={navigateToHome}>Home</button>    </div>
  );
}

In the above example, we first imported useHistory hook from the react-router-dom library.

Inside the App component we invoked userHistory() hook which returns a history object.

The navigateToHome function is used to navigate the user to a home route (/).

Css Tutorials & Demos

How rotate an image continuously in CSS

In this demo, we are going to learn about how to rotate an image continuously using the css animations.

How to create a Instagram login Page

In this demo, i will show you how to create a instagram login page using html and css.

How to create a pulse animation in CSS

In this demo, i will show you how to create a pulse animation using css.

Creating a snowfall animation using css and JavaScript

In this demo, i will show you how to create a snow fall animation using css and JavaScript.

Top Udemy Courses

JavaScript - The Complete Guide 2021 (Beginner + Advanced)
JavaScript - The Complete Guide 2021 (Beginner + Advanced)
64,026 students enrolled
52 hours of video content
View Course
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
284,472 students enrolled
40 hours of video content
View Course
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
152,857 students enrolled
48.5 hours of video content
View Course