Author -  Sai gowtham

How to navigate programmatically in React Router

In this tutorial, we are going to learn about how to navigate programmatically in React Router by using the useHistory( ) hook.

useHistory() Hook

React router offers us the useHistory() hook by using that we can navigate a user programmatically from one route to another route in functional components.

Example:

App.js
import React from 'react';
import { useHistory } from "react-router-dom";
function HomeButton() {
  const history = useHistory();

  function handleClick() {
    history.push("/home");  }

  return (
    <button type="button" onClick={handleClick}>
      Go to home    </button>
  );
}

In the above example, we first imported the useHistory() hook from the react-router-dom package then we initialized the useHistory() inside the HomeButton component.

The useHistory() hook has push method which accepts route as a first argument, so that we passed /home route to the push() method inside a handleClick() function.

Now, if we click on a Go to home button user will programmatically navigate to /home route.


If you want to navigate programmatically inside class-based components the push() method is available in this.props property.

Example:

import React,{Component} from 'react';

class App extends Component{
  gotoHome = () => {
    this.props.history.push('/')  }

  render() {
    return (
      <div>
        <button onClick={this.gotoHome}>Home</button>      </div>
    )
  }
}

export default App;

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 2023 (Beginner + Advanced)
JavaScript - The Complete Guide 2023 (Beginner + Advanced)
116,648 students enrolled
52 hours of video content
$14.99 FROM UDEMY
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
631,582 students enrolled
49 hours of video content
$24.99 FROM UDEMY
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
203,937 students enrolled
31.5 hours of video content
$14.99 FROM UDEMY