React er et JavaScript-bibliotek bygget av Facebook for å bygge brukergrensesnitt. Hvis du er ny til å reagere, vil jeg anbefale å lese en av våre tidligere opplæringsprogrammer om å komme i gang med React. I denne opplæringen diskuterer vi hvordan du håndterer nestet ruting i et React-webprogram.
Vi starter med å sette opp vårt React-webprogram. La oss lage en prosjektmappe som heter ReactRouting
. Innsiden ReactRouting
, opprett en fil som heter app.html
. Nedenfor er app.html
fil:
TutsPlus - React Nested Routing
Inne i ReactRouting
mappe, initialiser prosjektet ved hjelp av Node Package Manager (npm).
npm init
Skriv inn de prosjektspesifikke detaljene eller trykk Tast inn for standard, og du burde ha package.json
fil inne i ReactRouting
mappe.
"navn": "reactroutingapp", "versjon": "1.0.0", "beskrivelse": "", "main": "app.js", "scripts": "test": "echo \" feil : ingen test oppgitt \ "&& exit 1", "forfatter": "", "lisens": "ISC"
Installer reagere
og reagere-dom
avhengigheter ved bruk av npm.
npm installere reagerer reagerer dom - save
Installer babel
pakke med NPM
og lagre den til package.json
fil.
npm installere - save-dev webpack-dev-server web-pakke babel-core babel-loader babel-preset-reagerer babel-preset-es2015
babel
Det kreves pakker for å omforme JSX-koden til JavaScript. Opprett en webpack-konfigurasjonsfil for å håndtere webpackkonfigurasjonene. Her er hvordan webpack.config.js
filen ville se ut:
module.exports = entry: './app.js', output: filnavn: 'bundle.js',, modul: loaders: [ekskluder: / node_modules /, loader: 'babel-loader? ] = es2015 og forhåndsinnstillinger [] = reagere ']
app.js
er filen der vår React-kode ville oppholde seg. Opprett en fil som heter app.js
inne i ReactRouting
mappe. Importer de nødvendige reaksjonsbibliotekene i app.js
. Opprett en komponent som heter app
ha en div med litt tekst. Gjenfør komponenten ved hjelp av gjengivelsesmetoden. Her er hvordan det grunnleggende app.js
filen ville se ut:
importere React fra 'reagere' import render fra 'react-dom' const App = () => return ('TutsPlus - Velkommen til React Nested Routing App'
); ; gjengi ((), Document.getElementById ( 'app'))
Start på nytt Webpack
utviklingsserver.
Webpack-dev-serveren
Når serveren er startet på nytt, bør du kunne se React-appen som kjører på http: // localhost: 8080 /.
Vi skal gjøre bruk av reagere-router
å implementere ruting og nestet ruting. Først installer reagere-router
i prosjektet vårt.
npm installere reaktor-router - lagre
Nå har vi reagere-router
installert i vårt prosjekt. La oss lage et par visninger for å implementere ruting. Inne i app.js
fil, opprett to komponenter kalt view1
og view2
. Slik ser koden ut:
const View1 = () => retur ('Velkommen til View1'
); ; const View2 = () => retur ('Velkommen til View2'
); ;
Lage en Meny
komponent som skal vises view1
og view2
ved å klikke. Slik ser det ut:
const meny = () => retur ();
- 'Hjem'
- 'View1'
- 'View2'
La oss bruke reaksjonsrouteren til å vise standardruten for applikasjonen vår. Lage Meny
komponer standard ruten. Definer også ruten for view1
og view2
komponenter. Slik ser det ut:
gjengi (, document.getElementById ( 'app'));
Lagre endringene ovenfor og start på nytt Webpack
server. Du bør ha vertikal navigasjonsmeny som vises på http: // localhost: 8080 / webpack-dev-server /.
Prøv å klikke på view1
og view2
koblinger, og det bør navigere til de aktuelle komponentene.
Vi har allerede en app
komponent som viser headerteksten. Anta at vi vil ha menyklikk for å vise riktig visning, men vi vil at den skal gjengis inne i app
komponent.
Vi vil at navigasjonsmenyen skal være tilgjengelig på alle sider. For å oppnå dette, vil vi prøve å neste våre reaksjonskomponenter view1
og view2
inne i app
komponent. Så når view1
er gjengitt, vises den inni app
komponent.
Endre ruteren config og plasser view1
og view2
rutekonfigurasjon inne i app
komponentrute.
gjengi (, document.getElementById ( 'app'));
Endre app
komponent for å neste Meny
komponent inne i den.
const App = () => retur (); ;'TutsPlus - Velkommen til React Nested Routing App'
For å gjøre de nestede ruter inne i app
komponent, legger vi til props.children
til app
komponent. Passere i Rekvisitter
som et funksjonsargument til app
komponent.
const App = (rekvisitter) => retur (); ;'TutsPlus - Velkommen til React Nested Routing App'
Props.children
La oss også legge til en Hjem
komponent til vår søknad.
const Hjem = () => retur (); ;'Velkommen hjem !!'
Inkluder Hjem
komponent i den nestede rutelisten.
gjengi (, document.getElementById ( 'app'));
Lagre endringene ovenfor og start serveren på nytt, og du bør kunne se programmet. Klikk på menyelementene som er oppført, og hver når du klikker, skal du gjøre nestet inne i app
komponent.
I denne veiledningen så du hvordan du implementerer nestet ruting i et React-program ved hjelp av reagere-router
. Du kan utvikle små uavhengige komponenter og deretter bruke komponentene til å lage større applikasjoner. Å gjøre det mulig å stifte små komponenter i store applikasjoner er det som gjør React veldig kraftig.
React blir en av de facto plattformene for å jobbe på nettet. Det er ikke uten sine læringskurver, og det er mange ressurser for å holde deg opptatt også. Hvis du leter etter flere ressurser for å studere eller bruke i arbeidet ditt, sjekk ut hva vi har tilgjengelig på Envato-markedet.
Kildekode fra denne opplæringen er tilgjengelig på GitHub. Gi oss beskjed om dine forslag og tanker i kommentarene nedenfor.