React Button onClick でページをリダイレクト

Oluwafisayo Oluwatayo 2023年6月21日
  1. onClick 関数は何をしますか
  2. onClickReact-Router-Dom を組み合わせる方法
  3. ボタンonClickに反応してページをリダイレクト
  4. まとめ
React Button onClick でページをリダイレクト

react-router-dom 関数のおかげで、Web 開発者はマルチページ アプリを作成するときに別のページに移動できるシングル ページ アプリを簡単に作成できます。 しかし、react-router-dom 関数と一緒に onClick 関数を使おうとするとどうなるでしょうか?

onClick 関数は何をしますか

onClick 関数はイベント リスナーです。 その機能は、その要素 (リンクまたはボタン) がクリックされると、onClick 関数がアクティブになり、設計またはプログラムされた機能を実行するように要素にプログラムされます。

たとえば、リンクをクリックすると、そのリンクから別のページに移動したり、ポップアップ メッセージが表示されたりする必要があります。 これは、onClick イベントが実行する機能です。

onClickReact-Router-Dom を組み合わせる方法

React で別のページにリダイレクトする通常の方法は、react-router-dom パッケージを使用することです。 次に、ルートの正確なパスリンク機能を適用して、コーディング プロセスを完了します。

react-router-dom パッケージで onClick イベント リスナーを使用しようとするときのプロセスは、上記の説明とほとんど同じです。

リダイレクト先の他のページを作成する必要があります。 違いは主にコーディングにあり、onClick はイベント リスナーであり、とりわけポップアップ メッセージの作成に役立つ関数です。

ボタンonClickに反応してページをリダイレクト

すべての React プロジェクトを開始するには、このコードをターミナルに配置して、新しい React アプリを作成することから始めます: npx create-react-app examplefive。 プロジェクト アプリが作成されたら、npm i react-router-dom を使用して react-router-dom パッケージをインストールする必要があります。

次に、テキスト エディターでプロジェクト フォルダーを開き、リダイレクトするページとして機能するファイルをさらに 2つ作成します。 examplefive プロジェクト フォルダーの src フォルダーに移動し、さらに 2つのファイル Home.jsContact.js を作成します。

この後、以下のように、App.js から始めて、適切なコーディングを行います。

コーディング スニペット App.js:

import React from "react";
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";

import Home from "./Home";
import Contact from "./Contact";

const App = () => {
  return (
    <div style={styles.app}>
      <Router>
        <Routes>
          <Route path="/" element={<Home />} />
          <Route path="/contact" element={<Contact />} />
        </Routes>
      </Router>
    </div>
  );
};

export default App;

const styles = {
  app: {
    padding: 50,
  },
};

ここでは、ボタンをクリックした後に移動するページを示すコード スニペットを追加します。

この後、Home.js に移動して、さらにコーディングを行います。

コード スニペット Home.js:

import React from "react";
import { useNavigate } from "react-router-dom";

const Home = (props) => {
  const navigate = useNavigate();

  return (
    <>
      <h1>Home Page</h1>
      <p>Go to the contact page by using one of the following:</p>
      <hr />

      {/* Button */}
      <p>
        <button onClick={() => navigate("/contact")}>Go to Contact</button>
      </p>

      {/* Checkbox */}
      <p>
        <input
          type="checkbox"
          onChange={() => navigate("/contact")}
        ></input>
        <span>Check this checkbox to go to the contact page</span>
      </p>

      {/* Text field */}
      <p>
        <input
          type="text"
          onChange={(e) => {
            if (e.target.value === "contact") {
              navigate("/contact");
            }
          }}
          placeholder="Enter 'contact' to navigate"
        ></input>
      </p>
    </>
  );
};

export default Home;

メインページであるHome.jsには、ほとんどのコンテンツとコーディングが含まれています。 onClick イベント リスナーが contact ボタンにリンクされていることがわかります。このボタンをクリックすると、連絡先ページに移動します。

コード スニペット Contact.js:

import React from "react";
import { useNavigate } from "react-router-dom";

const Contact = (props) => {
  const navigate = useNavigate();
  return (
    <>
      <h1>Contact Page</h1>
      <br />
      <button onClick={() => navigate(-1)}>Go Back</button>
    </>
  );
};

export default Contact;

Home.js ファイルと同様に、onClick イベント リスナーを Go Back ボタンにリンクします。 このボタンをクリックすると、ホームページに戻ります。

出力:

React Button onclick

まとめ

onClick イベント リスナーは、react-router-dom メソッドのようなマルチページ アプリケーションを作成するために開発できるもう 1つのソリューションです。 ただし、react-router-dom パッケージを使用せずに別のページにリダイレクトする既知の方法はありません。

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.

LinkedIn

関連記事 - React onClick