React är ett JavaScript-bibliotek byggt av Facebook för att bygga användargränssnitt. Om du är ny att reagera rekommenderar jag att du läser en av våra tidigare handledning om att komma igång med React. I denna handledning diskuterar vi hur du hanterar kapslade routing i en React-webbapplikation.
Vi börjar med att ställa in vår React-webbapplikation. Låt oss skapa en projektmapp som heter ReactRouting
. Inuti ReactRouting
, skapa en fil som heter app.html
. Nedan är app.html
fil:
TutsPlus - React Nested Routing
Inuti ReactRouting
mapp, initiera projektet med Node Package Manager (npm).
npm init
Ange de projektspecifika detaljerna eller tryck på Stiga på för standardinställningar, och du borde ha package.json
filen inuti ReactRouting
mapp.
"name": "reactroutingapp", "version": "1.0.0", "beskrivning": "", "main": "app.js", "scripts": "test": "echo \" fel : inget test specificerat \ "&& avsluta 1", "författare": "", "licens": "ISC"
Installera reagera
och reagerar-dom
beroenden med hjälp av npm.
npm installera reagera reagera dom - save
Installera babel
paket med npm
och spara den till package.json
fil.
npm installera - save-dev webpack-dev-server webpack babel-core babel-loader babel-preset-reagera babel-preset-es2015
babel
paket krävs för att omvandla JSX-koden till JavaScript. Skapa en webpack-konfigurationsfil för att hantera webpackkonfigurationerna. Här är hur webpack.config.js
filen skulle se ut:
module.exports = entry: './app.js', output: filnamn: 'bundle.js',, modul: loaders: [exclude: / node_modules /, loader: 'babel-loader? ] = es2015 och förinställningar [] = reagera ']
app.js
är filen där vår React-kod skulle ligga. Skapa en fil som heter app.js
inuti ReactRouting
mapp. Importera de nödvändiga reaktionsbiblioteken i app.js
. Skapa en komponent som heter App
ha en div med lite text. Rendera komponenten med hjälp av renderingsmetoden. Så här är det grundläggande app.js
filen skulle se ut:
importera Reakt från "reagera" import render från "react-dom" const App = () => returnera'TutsPlus - Välkommen till React Nested Routing App'
); ; göra((), Document.getElementById ( 'app'))
Starta om Webpack
utvecklingsserver.
Webpack-dev-server
När servern har startats om igen ska du kunna se React-appen som körs på http: // localhost: 8080 /.
Vi kommer att använda oss av reagerar-router
att genomföra routing och kapslade routing. Först installera reagerar-router
i vårt projekt.
npm installera reaktor-router - spara
Nu har vi reagerar-router
installeras i vårt projekt. Låt oss skapa ett par visningar för att genomföra routing. Inuti app.js
fil, skapa två komponenter som heter view1
och view2
. Så här ser koden ut:
const View1 = () => returnera ('Välkommen till View1'
); ; const View2 = () => retur ('Välkommen till View2'
); ;
Skapa en Meny
komponent som ska visas view1
och view2
på att klicka. Så här ser det ut:
const Menu = () => returnera ();
- 'Hem'
- 'View1'
- 'View2'
Låt oss använda realtroutern för att visa standardrutten för vår applikation. Gör Meny
komponera standardrutten. Definiera också rutten för view1
och view2
komponenter. Så här ser det ut:
göra(, document.getElementById ( 'app'));
Spara ovanstående ändringar och starta om Webpack
server. Du bör ha den vertikala navigeringsmenyn som visas på http: // localhost: 8080 / webpack-dev-server /.
Försök att klicka på view1
och view2
länkar, och det ska navigera till lämpliga komponenter.
Vi har redan en App
komponent som visar rubriktexten. Antag att vi vill ha menyklicket för att visa rätt vy, men vi vill att den ska göras inuti App
komponent.
Vi vill att navigeringsmenyn ska vara tillgänglig på alla sidor. För att uppnå detta ska vi försöka nesta våra reaktionskomponenter view1
och view2
inuti App
komponent. Så när view1
återges, visas den inuti App
komponent.
Ändra nu routerns konfiguration och placera view1
och view2
rutkonfiguration inuti App
komponentväg.
göra(, document.getElementById ( 'app'));
Ändra App
komponent för att bo på Meny
komponent inuti den.
const App = () => retur (); ;'TutsPlus - Välkommen till React Nested Routing App'
Att göra de kapslade vägarna inuti App
komponent, lägger vi till props.children
till App
komponent. Passa in rekvisita
som ett funktionsargument till App
komponent.
const App = (rekvisita) => retur (); ;'TutsPlus - Välkommen till React Nested Routing App'
Props.children
Låt oss också lägga till en Hem
komponent till vår ansökan.
const Hem = () => returnera (); ;'Välkommen hem !!'
Inkludera Hem
komponent i den nestade rutlistan.
göra(, document.getElementById ( 'app'));
Spara ovanstående ändringar och starta om servern, och du ska kunna visa programmet. Klicka på menyobjekten som listas, och var och en när du klickar ska göra nestad inuti App
komponent.
I denna handledning såg du hur du implementerar kapslade routing i en React-applikation med reagerar-router
. Du kan utveckla små oberoende komponenter och sedan använda komponenterna för att skapa större applikationer. Att göra det möjligt att sticka upp små komponenter i stora applikationer är det som gör React riktigt kraftfullt.
React blir en av de faktiska plattformarna för att arbeta på webben. Det är inte utan sina inlärningskurvor, och det finns gott om resurser för att hålla dig upptagen också. Om du letar efter ytterligare resurser att studera eller använda i ditt arbete, kolla vad vi har tillgängligt på Envato-marknaden.
Källkod från denna handledning finns på GitHub. Låt oss veta dina förslag och tankar i kommentarerna nedan.