以下に、アクティブなリンクを作成するためのいくつかの方法を示します。
-
react-routerを使用する方法: react-routerはReactで一般的に使用されるルーティングライブラリです。react-routerを使用すると、ルーティング情報を管理し、アクティブなリンクを作成することができます。
まず、react-routerをインストールします。
npm install react-router-dom
そして、以下のようにルーティングを設定します。
import { Link, BrowserRouter as Router, Route } from 'react-router-dom'; function App() { return ( <Router> <nav> <Link to="/" activeClassName="active">Home</Link> <Link to="/about" activeClassName="active">About</Link> <Link to="/contact" activeClassName="active">Contact</Link> </nav> <Route path="/" exact component={Home} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> </Router> ); } function Home() { return <h1>Home</h1>; } function About() { return <h1>About</h1>; } function Contact() { return <h1>Contact</h1>; } export default App;
Link
コンポーネントのto
プロパティには、対応するURLパスを指定します。activeClassName
プロパティを設定することで、アクティブなリンクに適用されるスタイルを指定できます。 -
独自のカスタムフックを使用する方法: もう一つの方法は、独自のカスタムフックを作成してアクティブなリンクの状態を管理することです。
import React, { useState } from 'react'; function useActiveLink(initialPath) { const [activePath, setActivePath] = useState(initialPath); const makeActive = (path) => { setActivePath(path); }; return { activePath, makeActive }; } function App() { const { activePath, makeActive } = useActiveLink('/'); return ( <nav> <a href="/" className={activePath === '/' ? 'active' : ''} onClick={() => makeActive('/')} > Home </a> <a href="/about" className={activePath === '/about' ? 'active' : ''} onClick={() => makeActive('/about')} > About </a> <a href="/contact" className={activePath === '/contact' ? 'active' : ''} onClick={() => makeActive('/contact')} > Contact </a> </nav> ); } export default App;
上記の例では、カスタムフック
useActiveLink
を作成し、アクティブなリンクの状態を管理しています。各リンクは、activePath
ステートと比較してアクティブなスタイルを適用するようになっています。また、各リンクのクリックイベントでmakeActive
関数を呼び出して、アクティブなリンクの状態を更新します。
Reactを使用してアクティブなリンクを作成する方法について説明します。アクティブなリンクは、ユーザーが現在表示されているページと関連付けられたリンクを指します。ユーザーがそのリンクをクリックした場合、アクティブなスタイルが適用されます。
以下に、アクティブなリンクを作成するためのいくつかの方法を示します。
-
react-routerを使用する方法: react-routerはReactで一般的に使用されるルーティングライブラリです。react-routerを使用すると、ルーティング情報を管理し、アクティブなリンクを作成することができます。
まず、react-routerをインストールします。
npm install react-router-dom
そして、以下のようにルーティングを設定します。
import { Link, BrowserRouter as Router, Route } from 'react-router-dom'; function App() { return ( <Router> <nav> <Link to="/" activeClassName="active">Home</Link> <Link to="/about" activeClassName="active">About</Link> <Link to="/contact" activeClassName="active">Contact</Link> </nav> <Route path="/" exact component={Home} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> </Router> ); } function Home() { return <h1>Home</h1>; } function About() { return <h1>About</h1>; } function Contact() { return <h1>Contact</h1>; } export default App;
Link
コンポーネントのto
プロパティには、対応するURLパスを指定します。activeClassName
プロパティを設定することで、アクティブなリンクに適用されるスタイルを指定できます。 -
独自のカスタムフックを使用する方法: もう一つの方法は、独自のカスタムフックを作成してアクティブなリンクの状態を管理することです。
import React, { useState } from 'react'; function useActiveLink(initialPath) { const [activePath, setActivePath] = useState(initialPath); const makeActive = (path) => { setActivePath(path); }; return { activePath, makeActive }; } function App() { const { activePath, makeActive } = useActiveLink('/'); return ( <nav> <a href="/" className={activePath === '/' ? 'active' : ''} onClick={() => makeActive('/')} > Home </a> <a href="/about" className={activePath === '/about' ? 'active' : ''} onClick={() => makeActive('/about')} > About </a> <a href="/contact" className={activePath === '/contact' ? 'active' : ''} onClick={() => makeActive('/contact')} > Contact </a> </nav> ); } export default App;
上記の例では、カスタムフック
useActiveLink
を作成し、アクティブなリンクの状態を管理しています。各リンクは、activePath
ステートと比較してアクティブなスタイルを適用するようになっています。また、各リンクのクリックイベントでmakeActive
関数を呼び出して、アクティブなリンクの状態を更新します。
以上の方法を使用することで、Reactでアクティブなリンクを作成することができます。これにより、