Gjennom resten av denne opplæringsserien fokuserer vi på å sette opp React lokalt. Den første av disse tilnærmingene ligner på CodePen, der React-skriptene ble satt inn dynamisk i HTML-filen din, før de ble gjengitt i utgangsvinduet.
Den eneste forskjellen er at vi skal sette inn skriptene manuelt.
Begynn med å opprette en index.html
dokument og legge til et par tags for the React and ReactDOM libraries.
Document
Reaksjonsskriptene som er lagt til, er via en CDN, og de spesielle URIene er anbefalt av Facebook. Hvis du vil jobbe helt uten nett, kan du laste ned disse skriptene lokalt og endre linkene til å være relative.
Et element This time, however, we won't be able to use JSX as there is no way to convert it to JavaScript at runtime. It has to be compiled ahead of time via a preprocessor such as Babel. We can't use ES6 classes or modules either as these features don't yet have universal browser support. Let's use the same React component from the CodePen example in part two of this tutorial series, so we can directly compare the two setup methods. Starting with the This is what a React component looks like without JSX. In fact, this is what the JSX code is actually compiled into by Babel. Let's now add the definitions for the two child components and add a reference to each of them in the top-level Here's what the whole HTML source code now looks like. Legg merke til hvordan i Åpen Jeg vil ikke gå inn i flere detaljer her om Det er klart at mangelen på verktøy som Babel begrenser hvor lett det er å skrive React-kode helt fra grunnen av. Det er mange andre verktøy vi kan dra nytte av, for eksempel en pakker som lager en enkelt JavaScript-fil fra alle de nødvendige React-biblioteker pluss vår appkode. Vi finner en bedre tilnærming i neste avsnitt som er like lett å sette opp. For å løse problemet med komplekse manuelle React-oppsett, introduserte Facebook create-react-app, som er en brukervennlig måte å komme i gang med å utvikle med React. Den gir deg full oppsett, men krever ingen manuell konfigurasjon i det hele tatt. La oss gå videre og installere create-react-app. Skriv inn følgende kode i et kommandolinjevindu. Dette vil installere create-react-app globalt, slik at du kan få tilgang til det fra hvilken som helst katalog. Du trenger npm installert for å kjøre denne kommandoen, og Node.js for å kjøre create-react-app. Siden npm kommer med Node.js, laster du ned og installerer den nyeste versjonen av Node.js fra den offisielle nettsiden. Vi lager nå en ny React-app som heter Kjør disse kommandoene for å lage din app og kjør startskriptet. Det kan ta et minutt eller to for create-react-app for å fullføre installasjonen av alt. Når du er ferdig, skriv inn Den fine tingen om create-react-app er at den inneholder en mini webserver og også ser filene i appen din for endringer. Når en endring er gjort, blir appen din gjenopprettet, og nettleservinduet oppdateres automatisk for å vise den oppdaterte appen din. Under den automatiske oppsettprosessen genererer create-react-app flere filer i tillegg til følgende tre mapper: For å få en følelse av hvordan vi oppretter komponenter og kobler dem sammen i en generert app opprett-reagerer-app, oppretter vi de samme komponentene som vi har jobbet med så langt. Standardutgangen til appen antyder at vi redigerer Din this.props.number: Hei fra React! this.props.number: Min andre reaksjonskomponent. Lagre endringene dine og opprett-reagerer-appen oppdaterer automatisk appen din i nettleseren. Dette gir samme resultat som før. (Legg merke til at den er lastet i nettleseren via den lokale webserveren denne gangen, skjønt.) La oss imidlertid gjøre dette mer modulært, for å være i tråd med moderne beste praksis for å lage React apps. Lag to nye filer inni Innsiden this.props.number: Hei fra React! Og inni this.props.number: Min andre reaksjonskomponent. Til slutt må vi oppdatere Denne tilnærmingen til å strukturere React-appen er mye mer modulær og bærbar. Det muliggjør også enklere feilsøking, da hver komponent er selvstendig inne i sin egen modul. I denne opplæringen har vi dekket to metoder for å sette opp React lokalt: den manuelle tilnærmingen, og bruke verktøyet Create-React-app fra Facebook. Opprett en React-app manuelt fra begynnelsen og legg inn skriptavhengighetene direkte i Ved å bruke create-react-app er derimot en veldig jevn prosess. Den er installert og initialisert med et par kommandoer. Når du kjører, oppretter-reager-app gjenoppretter appen din og oppdaterer nettleservinduet hver gang du redigerer eventuelle prosjektfiler. Dette er en veldig fin arbeidsflyt når det gjøres mange små endringer, da det bidrar til å øke app-utviklingen. I neste veiledning lager vi en React-app fra begynnelsen som bruker Webpack og Babel til å pakke og behandle vår app i en enkelt JavaScript-fil. I motsetning til create-react-app, hvor alt er gjort for deg, konfigurerer vi alle oppsettfilene manuelt, og vi diskuterer hvorfor du vil velge denne tilnærmingen. tag was also added, which will be used to add our React code shortly.
component only:const App = function () return React.createElement( 'div', null, React.createElement( 'h2', null, 'My First React Components!' ) ); ReactDOM.render( React.createElement( App ), document.querySelector( '#app' ) );
component. I'll also implement the number
props from the CodePen example.
komponent vi kan lage så mange elementer som vi liker ved å legge til flere samtaler til React.createElement ()
. Også rekvisitter sendes inn i barnekomponenter via a Rekvisitter
JavaScript-objekt, som deretter kan nås i komponenter via funksjonsparameteren Rekvisitter
.index.html
i en nettleser for å se React-utgangen.React.createElement ()
, og andre ikke-JSX-emner, da flertallet av React-brukere velger å skrive sine komponenter ved hjelp av JSX. Vi bruker JSX for våre React-komponenter for resten av denne opplæringsserien.Opprett React App
npm installere-g create-react-app
my-første-komponenter
. Legg merke til at create-react-app oppretter den inneholdende mappen for appen din automatisk, slik at du bare må sørge for at du er i katalogen du vil ha appmappen din opprettet i.lage-reager-app min første komponenter cd min-første komponenter / npm start
npm start
kommandoen, og et nytt nettleservindu åpnes, og etter noen sekunder vises React-appen din.
App.js
Som utgangspunkt skal du åpne denne filen og fjerne importanropene for logoen og CSS-filene, ettersom vi ikke trenger disse. Vi kan også forenkle
komponent, og legg til i våre to barns komponenter fra før.App.js
filen skal nå se slik ut:Import React, Component fra 'reagere'; klassen App utvider komponent render () return (
Mine første reaktorkomponenter!
src
mappen heter MyFirstComponent.js
og MySecondComponent.js
.MyFirstComponent.js
, legg til følgende kode:Import React, Component fra 'reagere'; klasse MyFirstComponent utvider komponent render () return (
MySecondComponent.js
, legg til lignende kode:Import React, Component fra 'reagere'; klasse MySecondComponent utvider komponent render () return (
App.js
for å importere begge barnekomponenter som de nå er plassert i separate filer:Import React, Component fra 'reagere'; importer MyFirstComponent fra './MyFirstComponent'; importer MySecondComponent fra '. /MySecondComponent'; klassen App utvider komponent render () return (
Mine første reaktorkomponenter!
Konklusjon
index.html
filen er ganske ineffektiv. Når appskalaene dine, og som forskjellige versjoner av skriptene dine blir utgitt, blir det enkelt å oppdatere skriptene manuelt. Dessuten kan vi ikke bruke ES6-funksjoner, eller skrive våre komponenter i JSX!