Az Önhöz hasonló olvasók támogatják a MUO-t. Amikor a webhelyünkön található linkek használatával vásárol, társult jutalékot kaphatunk. Olvass tovább.

Az egyoldalas alkalmazás (SPA) olyan webhely vagy webalkalmazás, amely dinamikusan átír egy meglévő weboldalt a webszervertől érkező új információkkal.

A React alkalmazásban az összetevők lekérik a webhely tartalmát, és egyetlen HTML-fájlba jelenítik meg a projektben.

A React Router segít navigálni a választott összetevőhöz, és megjeleníti azt a HTML-fájlban. Használatához tudnia kell, hogyan kell beállítani és integrálni a React Routert a React alkalmazással.

A React Router telepítése

A React Router telepítéséhez a React projektbe a segítségével npm, a JavaScript csomagkezelő, futtassa a következő parancsot a projektkönyvtárban:

npm i react-router-dom

Alternatív megoldásként letöltheti a csomagot a Yarn csomagkezelővel, amely lehetővé teszi a könyvtári csomagok offline telepítését.

A React Router Yarn használatával történő telepítéséhez futtassa ezt a parancsot:

fonal add react-router-dom@6

A React Router beállítása

A React Router konfigurálásához és az alkalmazásban elérhetővé tételéhez importálja BrowserRouter tól től react-router-dom benned index.js fájlt, majd csomagolja be az alkalmazás összetevőjét a BrowserRouter elem:

import Reagál tól től'reagál';
import ReactDOM tól től'react-dom/client';
import App tól től'./Alkalmazás';
import { BrowserRouter } tól től"react-router-dom";

const root = ReactDOM.createRoot( dokumentum.getElementById('gyökér') );

root.render(


</BrowserRouter>
);

Az alkalmazáskomponens becsomagolása a BrowserRouter elem teljes hozzáférést biztosít az egész alkalmazásnak a router képességeihez.

Útválasztás más komponensekhez

Miután beállította az útválasztót az alkalmazásban, hozza létre az alkalmazásösszetevőket, irányítsa át és jelenítse meg őket. A következő kód importálja és létrehozza a „Home”, „About” és „Blog” nevű összetevőket. Azt is importálja a Útvonal és Útvonalak elemekből react-router-dom.

Az Útvonalakat az oldalon belül fogja meghatározni App összetevő:

import { Útvonalak, Útvonal } tól től"react-router-dom";
import itthon tól től'./Itthon';
import Ról ről tól től'./Ról ről';
import Blog tól től'./Blog';

funkcióApp() {
Visszatérés (

'/' elem={ } />
'/ról ről' elem={ } />
'/blog' elem={ }/>
</Routes>
)
}

exportalapértelmezett App;

A App komponens az a fő összetevő, amely megjeleníti a többi összetevőbe írt összes kódot.

A Útvonalak Az elem a szülőelem, amely az alkalmazáskomponensben létrehozott egyedi útvonalakat körbeveszi. A Útvonal elem egyetlen útvonalat hoz létre. Két kellék attribútumot igényel: a pálya és egy elem.

A pálya attribútum határozza meg a kívánt összetevő URL elérési útját. A fenti kódblokk első útvonala egy fordított perjelet (/) használ elérési útjaként. Ez egy speciális útvonal, amelyet a React fog először megjeleníteni, így a itthon komponens jelenik meg az alkalmazás futtatásakor. Ne keverje össze ezt a rendszert feltételes megjelenítés megvalósítása a React komponensekben. Ezt adhatod pálya bármilyen nevet adjon hozzá.

A elem attribútum határozza meg azt az összetevőt, amelyet a Útvonal fog renderelni.

A link komponens egy React Router komponens, amelyet különböző útvonalak navigálására használnak. Ezek az összetevők hozzáférnek az Ön által létrehozott különféle útvonalakhoz.

Például:

import { Link } tól től"react-router-dom";

funkcióitthon() {
Visszatérés (


'/ról ről'>Az oldalról</Link>
'/blog'>Blogoldal</Link>

Ez a Kezdőlap
</div>
)
}

exportalapértelmezett Itthon;

A link komponens közel azonos a HTML horgonycímkével, csak egy "to" nevű attribútumot használ a "href" helyett. A link komponens az Útvonalhoz navigál a megfelelő útvonalnévvel attribútumként, és megjeleníti az útvonal összetevőjét.

Beágyazott útválasztás és megvalósítása

A React Router támogatja a beágyazott útválasztást, lehetővé téve, hogy több útvonalat egyetlen útvonalba csomagoljon. Ezt főleg akkor használják, ha az útvonalak URL-útvonalai hasonlóak.

Miután létrehozta az irányítani kívánt összetevőket, mindegyikhez külön útvonalat fog kidolgozni a következőben kb összetevő.

Például:

import { Útvonalak, Útvonal } tól től"react-router-dom"; 
import Cikkek tól től"./Cikkek";
import Új cikk tól től'./Új cikk';
import Egy cikk tól től"./ArticleOne";

funkcióApp() {
Visszatérés (

'/cikk' elem={ }/>
'/cikk/új' elem={ }/>
"/cikk/1" elem={ }/>
</Routes>
)
}

exportalapértelmezett App;

A fenti kódblokk importálja és irányítja a létrehozott összetevőket Cikkek, Új cikk, és Egy cikk. Van némi hasonlóság a három útvonal URL-útvonalaiban.

A Új cikk Az útvonal elérési útja ugyanúgy kezdődik, mint a Cikkek Az útvonal elérési útja egy fordított perjellel (/) és az "új", azaz (/new) szóval. Az egyetlen különbség az elérési út nevei között Cikkek Útvonal és a Egy cikk Az útvonal a perjel (/1) a végén Egy cikk az összetevő elérési útja.

A három útvonalat egymásba ágyazhatja, ahelyett, hogy a jelenlegi állapotukban hagyná őket.

Például így:

import { Útvonalak, Útvonal } tól től"react-router-dom";
import Cikkek tól től"./Cikkek";
import Új cikk tól től'./Új cikk';
import Egy cikk tól től"./ArticleOne";

funkcióApp() {
Visszatérés (

'/cikk'>
}/>
'/cikk/új' elem={ }/>
"/cikk/1" elem={ }/>
</Route>
</Routes>
)
}

exportalapértelmezett App;

A három különálló útvonalat egyetlen egybe csomagolta Útvonal elem. Vegye figyelembe, hogy a szülő Útvonal elemnek csak a pálya attribútum és sz elem attribútum, amely meghatározza a megjelenítendő összetevőt. A index tulajdonság az első gyermekben Útvonal elem határozza meg, hogy ez Útvonal akkor jelenik meg, amikor a szülő URL-útvonalához navigál Útvonal.

A kód jobbá és karbantarthatóbbá tétele érdekében meg kell határoznia az útvonalakat egy összetevőben, és importálnia kell a programba kb komponens használatra.

Például:

import { Útvonalak, Útvonal } tól től"react-router-dom";
import Cikkek tól től"./Cikkek";
import Új cikk tól től'./Új cikk';
import Egy cikk tól től"./ArticleOne";

funkcióCikk Útvonalak() {
Visszatérés (

}/>
'/cikk/új' elem={ }/>
"/cikk/1" elem={ }/>
</Routes>
)
}

exportalapértelmezett cikkÚtvonalak;

A fenti kódblokk összetevője tartalmazza azokat a beágyazott útvonalakat, amelyek korábban az alkalmazáskomponensben voltak. Az összetevő létrehozása után importálnia kell a kb komponenst, és irányítsa egyetlen elem segítségével Útvonal elem.

Például:

import { Útvonalak, Útvonal } tól től"react-router-dom";
import Cikk Útvonalak tól től'./ArticleRoutes';

funkcióApp() {
Visszatérés (

'/cikk/*' elem={ }>
</Routes>
)
}

exportalapértelmezett App;

A döntőben Útvonal összetevőt, az útvonal elérési útja végén lévő fordított perjel és csillag szimbólumok biztosítják, hogy az útvonalnév megfeleljen minden olyan útvonalnévnek, amely (/cikk).

Van még mit reagálni a routerre

Most már ismernie kell az egyoldalas alkalmazások React.js programban való létrehozásának alapjait a React Router használatával.

A React Router könyvtárban számos további funkció is elérhető, amelyek dinamikusabbá teszik a fejlesztői élményt webalkalmazások készítése során.