ReactでSPAページで戻るボタンを有効にする方法

ReactでSPAページで戻るボタンを有効化

ReactでSPAページで戻るボタンを有効にするためのソースコード例を示します。
パッケージのインストール手順も記載します。

ライブラリのインストール

npmを使用する場合
npm install react-router-dom
yarnを使用する場合
yarn add react-router-dom

ソースコード例

App.js
import React from 'react';
import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';
import Home from './Home';
import About from './About';
import Contact from './Contact';

function App() {
  return (
    <Router>
      <div>
        <nav>
          <ul>
            <li>
              <Link to="/">Home</Link>
            </li>
            <li>
              <Link to="/about">About</Link>
            </li>
            <li>
              <Link to="/contact">Contact</Link>
            </li>
          </ul>
        </nav>
        <Switch>
          <Route exact path="/" component={Home} />
          <Route path="/about" component={About} />
          <Route path="/contact" component={Contact} />
        </Switch>
      </div>
    </Router>
  );
}

export default App;
Home.js
import React from 'react';

function Home() {
  return <h1>Home Page</h1>;
}

export default Home;
About.js
import React from 'react';

function About() {
  return <h1>About Page</h1>;
}

export default About;
Contact.js
import React from 'react';

function Contact() {
  return <h1>Contact Page</h1>;
}

export default Contact;

このセットアップにより、ナビゲーションリンクをクリックしてページを移動でき、ブラウザの戻るボタンも正常に動作します。