Categories
React Answers

How to fix the “React-router TypeError: _this.props.history is undefined” error with React Router?

Spread the love

Sometimes, we want to fix the "React-router TypeError: _this.props.history is undefined" error with React Router.

In this article, we’ll look at how to fix the "React-router TypeError: _this.props.history is undefined" error with React Router.

How to fix the "React-router TypeError: _this.props.history is undefined" error with React Router?

To fix the "React-router TypeError: _this.props.history is undefined" error with React Router, we wrap our route components with the BrowserRouter component.

For instance, we write

import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
import "./index.css";
import { BrowserRouter, Route } from "react-router-dom";

ReactDOM.render(
  <BrowserRouter>
    <Route path="/" component={App} />
  </BrowserRouter>,
  document.getElementById("root")
);

to wrap BrowserRouter around the Router we have to make this.props.history available in App.

We should also call withRouter with App before exporting App to inject other React Router properties as props into App.

Conclusion

To fix the "React-router TypeError: _this.props.history is undefined" error with React Router, we wrap our route components with the BrowserRouter component.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *