- ルーティングを使用する方法: React Routerを使用して、異なるファイル間をナビゲートすることができます。React Routerは、URLパスに基づいて異なるコンポーネントを表示するためのルーティング機能を提供します。
例えば、以下のようなコードを使用してReact Routerをセットアップします:
npm install react-router-dom
次に、ルーティングのためのコンポーネントを作成します:
import { BrowserRouter as Router, Switch, Route, 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 path="/about">
<About />
</Route>
<Route path="/contact">
<Contact />
</Route>
<Route path="/">
<Home />
</Route>
</Switch>
</div>
</Router>
);
}
export default App;
この例では、Home
、About
、Contact
という3つの異なるコンポーネントがあります。それぞれのコンポーネントは、特定のURLパスに基づいて表示されます。
- 条件付きレンダリングを使用する方法: 別のファイルにナビゲートするために、状態を使用してコンポーネントの表示を切り替えることもできます。
例えば、以下のようなコードを使用して条件付きレンダリングを実装します:
import React, { useState } from 'react';
import Home from './Home';
import About from './About';
import Contact from './Contact';
function App() {
const [currentPage, setCurrentPage] = useState('home');
const renderPage = () => {
if (currentPage === 'home') {
return <Home />;
} else if (currentPage === 'about') {
return <About />;
} else if (currentPage === 'contact') {
return <Contact />;
}
};
return (
<div>
<nav>
<ul>
<li onClick={() => setCurrentPage('home')}>Home</li>
<li onClick={() => setCurrentPage('about')}>About</li>
<li onClick={() => setCurrentPage('contact')}>Contact</li>
</ul>
</nav>
{renderPage()}
</div>
);
}
export default App;
この例では、currentPage
という状態変数を使用して、現在表示されているページを追跡しています。ナビゲーションのリンクをクリックすると、setCurrentPage
関数が呼び出され、表示するページが切り替わります。