Under resten av denna handledningsserie fokuserar vi på att ställa in React lokalt. Den första av dessa tillvägagångssätt liknar CodePen, där React-skripten infördes dynamiskt i din HTML-fil innan de gjordes i utmatningsfönstret.
Den enda skillnaden här är att vi ska infoga skript manuellt.
Börja med att skapa en index.html
dokument och lägga till ett par tags for the React and ReactDOM libraries.
Document
Reaktionsskript som läggs till är via en CDN, och de särskilda URIen rekommenderas av Facebook. Om du vill arbeta helt offline kan du ladda ner dessa skript lokalt och ändra länkarna för att vara relativt.
Ett 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. Lägg märke till hur i Öppna Jag kommer inte att gå in i mer detaljer här om Tydligen begränsar bristen på verktyg som Babel hur lätt det är att skriva React-kod helt från början. Det finns många andra verktyg vi kan dra nytta av, till exempel en bunt som skapar en enda JavaScript-fil från alla nödvändiga React-bibliotek samt vår app-kod. Vi kommer att upptäcka ett bättre tillvägagångssätt i nästa avsnitt som är lika lätt att ställa in. För att lösa problemet med komplexa manuella React-inställningar, introducerade Facebook create-react-app, vilket är ett användarvänligt sätt att komma igång med att utveckla med React. Det ger dig fullständig installation men behöver ingen manuell konfiguration alls. Låt oss fortsätta och installera create-react-app. Skriv följande kod i ett kommandoradsfönster. Detta kommer att installera skapa-reagera-app globalt så att du kan komma åt det från vilken katalog som helst. Du behöver npm installerat för att köra det här kommandot, och Node.js ska köra skapa-reagera-app. Eftersom npm levereras med Node.js, ladda ner och installera senast den senaste versionen av Node.js från den officiella hemsidan. Vi skapar nu en ny React-app som heter Kör dessa kommandon för att skapa din app och köra startskriptet. Det kan ta en minut eller två för skapa-reagera-app för att slutföra installationen av allt. När du är färdig, skriv in Det fina med Create-React-app är att det innehåller en mini-webbserver och även kollar filerna i din app för ändringar. När en ändring görs blir din app ombyggd och webbläsarfönstret laddas automatiskt om att visa din uppdaterade app. Under den automatiska installationsprocessen genererar skapa-reagera-app flera filer såväl som följande tre mappar: För att få en känsla för hur vi skapar komponenter och kopplar samman dem i en skapad app som skapar reaktion-app skapar vi samma komponenter som vi har arbetat med hittills. Standardutgången i appen tyder på att vi redigerar Din this.props.number: Hej från React! this.props.number: Min andra reaktionskomponent. Spara dina ändringar och skapa-reagera-app uppdaterar automatiskt din app i webbläsaren. Detta resulterar i samma resultat som tidigare. (Observera att den laddas i webbläsaren via den lokala webbservern den här gången.) Låt oss göra detta mer modulärt för att vara i linje med moderna bästa praxis för att skapa React apps. Skapa två nya filer inuti Inuti this.props.number: Hej från React! Och inuti this.props.number: Min andra reaktionskomponent. Slutligen måste vi uppdatera Denna metod att strukturera din React-app är mycket mer modulär och bärbar. Det möjliggör också enklare felsökning eftersom varje komponent är fristående i sin egen modul. I den här handledningen har vi tagit upp två metoder för att konfigurera React lokalt: den manuella inställningen och använda verktyget skapa-reagera app från Facebook. Skapa en React-app manuellt från början och sätt in script-beroenden direkt inuti Med hjälp av create-react-app är å andra sidan en mycket smidig process. Den är installerad och initialiserad med ett par kommandon. När du har kört, skapar-reagerar appen din app och uppdaterar webbläsarfönstret varje gång du redigerar några projektfiler. Det här är ett riktigt trevligt arbetsflöde när det gör många mindre förändringar, eftersom det bidrar till att påskynda apputveckling. I nästa handledning skapar vi en React-app från början som använder Webpack och Babel för att paketera och bearbeta vår app till en enda JavaScript-fil. Till skillnad från create-react-app, där allt är gjort för dig, konfigurerar vi alla installationsfiler manuellt och vi diskuterar varför du skulle välja den här metoden. 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 skapa så många element som vi gillar genom att lägga till fler samtal till React.createElement ()
. Dessutom skickas rekvisita till barnkomponenter via a rekvisita
JavaScript-objekt, som sedan kan nås inuti komponenter via funktionsparametern rekvisita
.index.html
i en webbläsare för att se React-utgången.React.createElement ()
, och andra icke-JSX-ämnen, eftersom majoriteten av React-användare väljer att skriva sina komponenter med JSX. Vi använder JSX för våra React-komponenter för resten av denna handledningsserie.Skapa React App
npm installera-g skapa-reagera-app
my-första-komponenter
. Observera att skapa-reagera-app skapar innehållsmappen för din app automatiskt, så du behöver bara se till att du är i katalogen du vill ha din appmapp skapad i.skapa-reagera-app min-första komponenter cd min-första komponenter / npm start
npm start
kommando och ett nytt webbläsarfönster öppnas och efter några sekunder visas din React app.
App.js
som utgångspunkt, så öppna den här filen och ta bort importsamtal för logotypen och CSS-filerna eftersom vi inte behöver dem. Vi kan också förenkla
komponent, och lägg till i våra två barns komponenter från tidigare.App.js
filen ska nu se ut så här:Importreakt, Komponent från "reagera"; klass App utökar komponent render () return (
Mina första reaktorkomponenter!
src
mapp heter MyFirstComponent.js
och MySecondComponent.js
.MyFirstComponent.js
, lägg till följande kod:Importreakt, Komponent från "reagera"; klass MyFirstComponent utökar komponent render () return (
MySecondComponent.js
, lägg till liknande kod:Importreakt, Komponent från "reagera"; klass MySecondComponent utökar komponent render () return (
App.js
för att importera båda barnkomponenterna eftersom de nu finns i separata filer:Importreakt, Komponent från "reagera"; importera MyFirstComponent från './MyFirstComponent'; importera MySecondComponent från './MySecondComponent'; klass App utökar komponent render () return (
Mina första reaktorkomponenter!
Slutsats
index.html
filen är ganska ineffektiv. När dina appskalor släpps, och som olika versioner av dina skript släpps, blir det manuellt att uppdatera skripten utan att hantera dem. Utöver det kan vi inte använda ES6-funktioner, eller skriva våra komponenter i JSX!