React Router
ΠΠΠΠΠΠΠ¦ΠΠ― ΠΠ Π‘Π’Π ΠΠΠΠ¦Π
React Router β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π½Π° React, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ URL.
ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ React Router, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΡΡΡΡΡ ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° React Router :
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ React Router Ρ ΠΏΠΎΠΌΠΎΡΡΡ npm ΠΈΠ»ΠΈ yarn:
npm install react-router-dom
# ΠΈΠ»ΠΈ
yarn add react-router-dom
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° React Router :
ΠΠ±ΡΡΠ½ΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΎΠ±ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² BrowserRouter Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
import React from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import App from './App';
const Root = () => (
<Router>
<App />
</Router>
);
export default Root;
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΡΡΡΠΎΠ² ΠΈ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΡΡΠ»ΠΎΠΊ:
Π ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ URL, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Route.
// App.js
import React from 'react';
import { Route, Link } from 'react-router-dom';
import Home from './Home';
import About from './About';
const App = () => (
<div>
<nav>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
</ul>
</nav>
<hr />
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
</div>
);
export default App;
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ App ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ (<Link>) ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Route, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΡΡΡ URL. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ, React Router Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅, Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΈ Π½Π°ΡΡΡΠΎΠΈΠ² React Router, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΈ ΠΌΠ°ΡΡΡΡΡΡ Π² ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ React.