ReactJS-vejledning for begyndere
Hvad er ReactJS?
ReactJS er en open source-frontend JavaScriptbibliotek til opbygning af brugergrรฆnseflader. ReactJS vedligeholdes af Facebook og et fรฆllesskab af individuelle udviklere og virksomheder. Det bruges i vid udstrรฆkning som en base til at bygge enkeltsidede websteder og mobilapplikationer. Det er meget nemt at bruge, og det giver brugerne mulighed for at oprette genbrugelige UI-komponenter.
Funktioner af ReactJS
JSX: JSX er en udvidelse til javascript. Selvom det ikke er obligatorisk at bruge JSX i react, er det en af โโde gode funktioner og nem at bruge.
Komponenter: Komponenter er som rene javascript-funktioner, der hjรฆlper med at gรธre koden let ved at opdele logikken i genanvendelig uafhรฆngig kode. Vi kan bruge komponenter som funktioner og komponenter som klasser. Komponenter har ogsรฅ en tilstand, rekvisitter, som gรธr livet nemt. Inde i en klasse opretholdes tilstanden for hver af rekvisitterne.
Virtuelt DOM: React opretter en virtuel dom, dvs. datastruktur-cache i hukommelsen. Kun de sidste รฆndringer af DOM er senere blevet opdateret i browserens DOM.
Javascript Udtryk: JS-udtryk kan bruges i jsx-filerne ved hjรฆlp af krรธllede parenteser, for eksempel {}.
Fordele ved ReactJS
Her er vigtige fordele/fordele ved at bruge ReactJS:
- ReactJS bruger virtuelt dom, der gรธr brug af in-memory data-struktur cache, og kun de sidste รฆndringer opdateres i browserens dom. Dette gรธr appen hurtigere.
- Du kan oprette komponenter efter eget valg ved at bruge reaktionskomponentfunktionen. Komponenterne kan genbruges og ogsรฅ nyttige i kodevedligeholdelse.
- Reactjs er et open source javascript-bibliotek, sรฅ det er nemt at starte med.
- ReactJS er blevet meget populรฆr pรฅ kort tid og vedligeholdes af Facebook og Instagram. Det bruges af mange berรธmte virksomheder som Apple, NetflixOsv
- Facebook vedligeholder ReactJS, biblioteket, sรฅ det er velholdt og opdateret.
- ReactJS kan bruges til at udvikle rig UI til bรฅde desktop- og mobilapps.
- Let at fejlfinde og teste, da det meste af kodningen er udfรธrt i Javascript i stedet for pรฅ HTML.
Ulemper ved ReactJS
Her er ulemper/ulemper ved at bruge ReactJS:
- Det meste af koden er skrevet i JSX, dvs. Html og css er en del af javascript, det kan vรฆre ret forvirrende, da de fleste andre frameworks foretrรฆkker at holde HTML adskilt fra javascript-koden.
- Filstรธrrelsen pรฅ ReactJS er stor.
Brug af ReactJS fra CDN
For at begynde at arbejde med react skal vi fรธrst installere reactjs. Du kan nemt komme i gang med at bruge reactjs ved at bruge CDN-javascript-filerne, som vist nedenfor.
Gรฅ til det officielle websted for reactjs for at fรฅ CDN-links, dvs. https://reactjs.org/docs/cdn-links.html og du fรฅr de nรธdvendige filer til at forklare det fรธlgende billede.
Til dev
<script crossorigin src="https://unpkg.com/react@version/umd/react.development.js"></script> <script crossorigin src="https://unpkg.com/react-dom@version/umd/react-dom.development.js"></script>
Til prod
<script crossorigin src="https://unpkg.com/react@version/umd/react.production.min.js"></script> <script crossorigin src="https://unpkg.com/react-dom@version/umd/react-dom.production.min.js"></script>
udskifte udgave med den seneste react-version til bรฅde react-development.js og react-dom.developement.js. Du kan hoste filerne i din ende for at begynde at arbejde med reactjs.
Hvis du planlรฆgger at bruge CDN-filerne, skal du sรธrge for at beholde cross-origin-attributten for at undgรฅ problemer pรฅ tvรฆrs af domรฆner. Reactjs-koden kan ikke udfรธres direkte i browseren og skal transpireres ved hjรฆlp af Babel til javascript fรธr den udfรธres i browseren.
Her er BabelJS-scriptet, der kan bruges:
<script src="https://unpkg.com/[email protected]/babel.min.js"></script>
Her er det fungerende ReactJS-eksempel ved hjรฆlp af cdn-filer og babeljs-script.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello World</title>
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/[email protected]/babel.min.js"></script>
</head>
<body>
<div id="app"></div>
<script type="text/babel">
ReactDOM.render(
<h1>Hello, from Guru99 Tutorials!</h1>,
document.getElementById('app')
);
</script>
</body>
</html>
Output:
Vi vil komme ind pรฅ detaljerne i koden i det nรฆste kapitel, lad os se, hvordan vi arbejder her med CDN-filer. Det siges, at det ikke er en god praksis at bruge babel-script direkte, og nybegyndere kan bare bruge det til at lรฆre reactjs indtil videre. I produktionen skal du installere react ved hjรฆlp af npm-pakken.
Brug af NPM-pakker
Sรธrg for at du har nodejs installeret. Hvis det ikke er installeret, skal du gennemgรฅ denne tutorial for nodejs (https://www.guru99.com/node-js-tutorial.html) installation.
Nรฅr du har installeret nodejs, skal du oprette en mappe reactproj/.
For at starte med projektopsรฆtning skal du kรธre kommandoen npm init.
Sรฅdan vil mappestrukturen se ud:
reactproj\ package.json
Nu vil vi installere de pakker, vi har brug for.
Her er listen over pakker til reactjs:
npm install react --save-dev npm install react-dom --save-dev npm install react-scripts --save-dev
ร bn kommandoprompten og kรธr ovenstรฅende kommandoer inde i mappen reactproj/.
Opret en mappe src / hvor al js-koden kommer i den mappe. Al koden til reactjs-projektet vil vรฆre tilgรฆngelig i src/-mappen. Opret en fil index.js og tilfรธj import react og react-dom, som vist nedenfor.
index.js
import React from 'react';
import ReactDOM from 'react-dom';
ReactDOM.render(
<h1>Hello, from Guru99 Tutorials!</h1>,
document.getElementById('root')
);
Vi har returneret den grundlรฆggende kode for reactjs. Vi vil forklare detaljerne om det i nรฆste kapitel. Vi vil gerne vise Hej fra Guru99 Tutorials og det samme gives til dom-elementet med id "root". Det er taget fra filen index.html, som er startfilen, som vist nedenfor.
Opret en mappe public/ og tilfรธj index.html i den som vist nedenfor
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>ReactJS Demo</title>
</head>
<body>
<div id = "root"></div>
</body>
</html>
Pakkens react-scripts vil sรธrge for at kompilere koden og starte serveren for at vise html-filen, dvs. index.html. Du skal tilfรธje kommandoen i package.json, der tager sig af at bruge react-scripts til at kompilere koden og starte serveren som vist nedenfor:
"scripts": {
"start": "react-scripts start"
}
Efter at have installeret alle pakkerne og tilfรธjet ovenstรฅende kommando, er den endelige package.json som fรธlger:
Package.json
{
"name": "reactproj",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "react-scripts start"
},
"author": "",
"license": "ISC",
"devDependencies": {
"react": "^16.9.0",
"react-dom": "^16.9.0",
"react-scripts": "^3.1.1"
}
}
For at begynde at teste reactjs skal du kรธre kommandoen
npm run start
C:\reactproj>npm run start > [email protected] start C:\reactproj > react-scripts start
Det vil รฅbne browser med url http://localhost:3000/ som vist nedenfor:
public/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>ReactJS Demo</title>
</head>
<body>
<div id = "root"></div>
</body>
</html>
Vi vil ogsรฅ bruge den samme proces til at udfรธre javascript-filerne i de nรฆste kapitler. Tilfรธj alle dine js- og .jsx-filer i src/-mappen. Filstrukturen vil vรฆre som fรธlger:
reatproj/
src/
index.js
node_modules/
public/
index.html
package.json
Sรฅdan opretter du dit fรธrste React-projektopsรฆtning
Her er en trin-for-trin guide i denne ReactJS-tutorial for at starte med den fรธrste react-applikation.
Trin 1) Importer reaktionspakkerne.
1. For at starte med ReactJS skal vi fรธrst importere react-pakkerne som fรธlger.
import React from 'react'; import ReactDOM from 'react-dom';
2. Gem filen som index.js i mappen src/
Trin 2) Skriv simpel kode.
Vi vil skrive en simpel kode i denne tutorial React JS, hvor vi viser beskeden "Hej, fra Guru99 Tutorials!"
ReactDOM.render(
<h1>Hello, from Guru99 Tutorials!</h1>,
document.getElementById('root')
);
ReactDOM.render vil tilfรธje tag til elementet med id root. Her er html-filen vi har:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>ReactJS Demo</title>
</head>
<body>
<div id = "root"></div>
</body>
</html>
Trin 3) Kompiler koden.
Nรฆste i denne React.js Tutorial skal vi kompilere koden for at fรฅ output i browseren.
Her er mappestrukturen:
reactproj/
node_modules/
src/
index.js
package.json
public/
index.html
Vi har tilfรธjet kommandoerne til at kompilere den endelige fil i package.json som fรธlger:
"scripts": {
"start": "react-scripts start"
},
For at kompilere den endelige fil skal du kรธre fรธlgende kommando:
npm run start
Nรฅr du kรธrer ovenstรฅende kommando, vil den kompilere filerne og give dig besked, hvis der er nogen fejl, hvis alt ser godt ud, vil det รฅbne browseren og kรธre filen index.html pรฅ http://localhost:3000/index.html
Kommando: npm run start:
C:\reactproj>npm run start > [email protected] start C:\reactproj > react-scripts start
Trin 4) Tjek output.
URL-adressen http://localhost:3000 รฅbnes i browseren, nรฅr koden er kompileret som vist nedenfor:
Hvad er JSX?
JSX er en udvidelse til javascript. Det er et skabelonscript, hvor du vil have kraften til at bruge HTML og Javascript sammen.
Her er et simpelt eksempel pรฅ en JSX-kode.
const h1tag = "<h1>Hello, from Guru99 Tutorials!</h1>";
Hvorfor har vi brug for JSX i React?
Til en brugergrรฆnseflade har vi brug for HTML, og hvert element i dom'en vil have hรฆndelser, der skal hรฅndteres, tilstandsรฆndringer osv.
I tilfรฆlde af React giver det os mulighed for at gรธre brug af Html og javascript i samme fil og tage os af tilstandsรฆndringerne i domen pรฅ en effektiv mรฅde.
Udtryk i JSX
Her er et simpelt eksempel pรฅ, hvordan man bruger udtryk i JSX.
I tidligere ReactJS-eksempler havde vi skrevet noget som:
index.js
import React from 'react';
import ReactDOM from 'react-dom';
ReactDOM.render(
<h1>Hello, from Guru99 Tutorials!</h1>,
document.getElementById('root')
);
Vi vil nu รฆndre ovenstรฅende kode for at tilfรธje udtryk. Udtryk bruges inden for krรธllede parenteser {}, og de udvides under kรธrselstiden. Udtryk i reaktion er det samme som javascript-udtryk.
index.js
import React from 'react';
import ReactDOM from 'react-dom';
const display = "Hello, from Guru99 Tutorials!";
const h1tag = "<h1>{display}</h1>";
ReactDOM.render(
h1tag,
document.getElementById('root')
);
Lad os nu teste det samme i browseren.
Du kan se, at udtrykket {display} ikke er erstattet. React ved ikke, hvad man skal gรธre, nรฅr et udtryk bruges inde i .js-filen.
Lad os nu tilfรธje รฆndringer og oprette en .jsx-fil, som vist nedenfor:
test.jsx
import React from 'react';
import ReactDOM from 'react-dom';
const display = "Hello, to Guru99 Tutorials";
const h1tag =<h1>{display}</h1>;
export default h1tag;
Vi har tilfรธjet den nรธdvendige kode og vil bruge filen text.jsx i index.js. Vi vil have den h1tag variabel, der skal bruges inde i script.js, sรฅ den samme eksporteres som vist ovenfor i test.jsx
Her er den รฆndrede kode i index.js
import React from 'react';
import ReactDOM from 'react-dom';
import h1tag from './test.jsx';
ReactDOM.render(
h1tag,
document.getElementById('root')
);
For at bruge test.jsx i index.js skal vi fรธrst importere det som vist nedenfor:
import h1tag from './test.jsx';
Vi kan bruge h1tag'et nu i ReactDOM.render som vist nedenfor:
ReactDOM.render(
h1tag,
document.getElementById('root')
);
Her er outputtet, nรฅr vi tjekker det samme i browseren:
Hvad er komponenter i ReactJS?
Komponenter er som rene javascript-funktioner, der hjรฆlper med at gรธre koden let ved at opdele logikken i genanvendelig uafhรฆngig kode.
Komponenter som funktioner
test.jsx
import React from 'react';
import ReactDOM from 'react-dom';
function Hello() {
return <h1>Hello, from Guru99 Tutorials!</h1>;
}
const Hello_comp = <Hello />;
export default Hello_comp;
Vi har lavet en funktion kaldet Hej der returnerede h1-tag som vist ovenfor. Navnet pรฅ funktionen fungerer som et element, som vist nedenfor:
const Hello_comp = <Hello />; export default Hello_comp;
Komponenten Hej bruges som et HTML-tag, dvs. og tildelt til Hej_komp variabel og samme eksporteres ved hjรฆlp af eksport.
Lad os nu bruge denne komponent i filen index.js som vist nedenfor:
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import Hello_comp from './test.jsx';
ReactDOM.render(
Hello_comp,
document.getElementById('root')
);
Her er output i browseren:
Klasse som komponent
Her er et ReactJS-eksempel, der bruger en klasse som en komponent.
test.jsx
import React from 'react';
import ReactDOM from 'react-dom';
class Hello extends React. Component {
render() {
return <h1>Hello, from Guru99 Tutorials!</h1>;
}
}
export default Hello;
Vi kan bruge Hello-komponenten i index.js-filen som fรธlger:
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import Hello from './test.jsx';
ReactDOM.render(
<Hello />,
document.getElementById('root')
);
Komponenten Hello bruges som et HTML-tag, dvs. .
Her er output af det samme.
Hvad er en stat i ReactJS?
En tilstand er et javascript-objekt, der ligner rekvisitter, der har data, der skal bruges med reactjs-gengivelsen. Tilstandsdataene er et privat objekt og bruges i komponenter inde i en klasse.
Eksempel pรฅ stat
Her er et fungerende eksempel pรฅ, hvordan man bruger tilstand i en klasse.
test.jsx
import React from 'react';
import ReactDOM from 'react-dom';
class Hello extends React.Component {
constructor(props) {
super(props);
this.state = {
msg: "Hello, from Guru99 Tutorials!"
}
}
render() {
return <h1>{this.state.msg}</h1>;
}
}
export default Hello;
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import Hello from './test.jsx';
ReactDOM.render(
<Hello />,
document.getElementById('root')
);
Dette er, hvad vi fรฅr, nรฅr vi tester det i browseren:
Hvad er Props i ReactJS?
Rekvisitter er egenskaber, der skal bruges inde i en komponent. De fungerer som globale objekter eller variabler, der kan bruges inde i komponenten.
Rekvisitter til funktionskomponent
Her er et eksempel pรฅ at overfรธre rekvisitter til en funktionskomponent.
import React from 'react';
import ReactDOM from 'react-dom';
function Hello(props) {
return <h1>{props.msg}</h1>;
}
const Hello_comp = <Hello msg="Hello, from Guru99 Tutorials!" />;
export default Hello_comp;
Som vist ovenfor har vi tilfรธjet msg tilskrive Komponent. Det samme kan tilgรฅs som rekvisitter inde i Hello-funktionen, som er et objekt, der vil have msg attribut detaljer, og det samme bruges som udtryk.
Komponenten bruges i index.js som fรธlger:
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import Hello_comp from './test.jsx';
ReactDOM.render(
Hello_comp,
document.getElementById('root')
);
Her er output i browseren:
Rekvisitter til klassekomponent
For at fรฅ adgang til rekvisitterne i en klasse kan vi gรธre det som fรธlger:
test.jsx
import React from 'react';
import ReactDOM from 'react-dom';
class Hello extends React.Component {
render() {
return <h1>{this.props.msg}</h1>;
}
}
export default Hello;
msg attribut overfรธres til komponenten i index.js som fรธlger:
import React from 'react';
import ReactDOM from 'react-dom';
import Hello from './test.jsx';
ReactDOM.render(
<Hello msg="Hello, from Guru99 Tutorials!" />,
document.getElementById('root')
);
Dette er output i browseren:
Tjek ogsรฅ:- AngularJS Tutorial for begyndere: Lรฆr AngularJS trin for trin
En komponents livscyklus
En komponentlivscyklus er opdelt i initialiserings-, monterings-, opdaterings- og afmonteringsstadier.
Her er en detaljeret forklaring om hver komponent.
En komponent i reactjs har fรธlgende trin:
Initialisering: Dette er den fรธrste fase af komponentens livscyklus.
Her vil den have standard rekvisitter og tilstand pรฅ det indledende niveau.
Montering: I denne fase gengives komponenten inde i dom. Vi udsรฆttes for fรธlgende metoder i monteringstilstand.
- componentDidMount(): Dette kaldes ogsรฅ, nรฅr komponenten lige er tilfรธjet til dom.
- render(): Du har denne metode til alle de oprettede komponenter. Det returnerer HTML-noden.
Opdatering: I denne tilstand interageres dom'et af en bruger og opdateres. For eksempel indtaster du noget i tekstboksen, sรฅ tilstandsegenskaberne opdateres.
Fรธlgende er de tilgรฆngelige metoder i opdateringstilstand:
- shouldComponentUpdate(): kaldes, nรฅr komponenten er opdateret.
- componentDidUpdate() : efter at komponenten er opdateret.
Afmontering: denne tilstand kommer ind i billedet, nรฅr komponenten ikke er pรฅkrรฆvet eller fjernet.
Fรธlgende er de tilgรฆngelige metoder i afmonteringstilstand:
Component willUnmount(): kaldes nรฅr komponenten fjernes eller destrueres.
Arbejdseksempel
Her er et fungerende eksempel, som viser de metoder, der bruges i hver stat.
Eksempel: complife.jsx
import React from 'react';
import ReactDOM from 'react-dom';
class COMP_LIFE extends React.Component {
constructor(props) {
super(props);
this.state = {name: ''};
this.UpdateName = this.UpdateName.bind(this);
this.testclick = this.testclick.bind(this);
}
UpdateName(event) {
this.setState({name: event.target.value});
}
testclick(event) {
alert("The name entered is: "+ this.state.name);
}
componentDidMount() {
console.log('Mounting State : calling method componentDidMount');
}
shouldComponentUpdate() {
console.log('Update State : calling method shouldComponentUpdate');
return true;
}
componentDidUpdate() {
console.log('Update State : calling method componentDidUpdate')
}
componentWillUnmount() {
console.log('UnMounting State : calling method componentWillUnmount');
}
render() {
return (
<div>
Enter Your Name:<input type="text" value={this.state.name} onChange={this.UpdateName} /><br/>
<h2>{this.state.name}</h2>
<input type="button" value="Click Here" onClick={this.testclick} />
</div>
);
}
}
export default COMP_LIFE;
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import COMP_LIFE from './complife.jsx';
ReactDOM.render(
<COMP_LIFE />,
document.getElementById('root')
);
Nรฅr du tjekker outputtet i browseren
I browserkonsollen fรฅr du:
Nรฅr brugeren indtaster i tekstboksen:
I konsollen vises fรธlgende meddelelser:
Arbejde med formularer
I reactjs HTML-input elementer som , og <select /> har deres egen tilstand og skal opdateres, nรฅr brugeren interagerer ved hjรฆlp af setState() metoden.
I dette kapitel vil vi se, hvordan man arbejder med formularer i reactjs.
Her er et fungerende eksempel:
form.jsx
import React from 'react';
import ReactDOM from 'react-dom';
class Form extends React.Component {
constructor(props) {
super(props);
this.state = {name: ''};
this.UpdateName = this.UpdateName.bind(this);
this.formSubmit = this.formSubmit.bind(this);
}
UpdateName(event) {
this.setState({name: event.target.value});
}
formSubmit(event) {
alert("The name entered is: "+ this.state.name);
}
render() {
return (
<form>
Enter Your Name:<input type="text" value={this.state.name} onChange={this.UpdateName} /><br/>
<h2>{this.state.name}</h2>
<input type="submit" value="Submit" onClick={this.formSubmit} />
</form>
);
}
}
export default Form;
For inputfelterne skal vi vedligeholde tilstanden, sรฅ for at reagere giver en speciel metode kaldet setState, som er med til at opretholde staten, nรฅr der sker en รฆndring.
Vi har brugt begivenheder pรฅ Skift og pรฅ Klik pรฅ tekstboksen og send knappen. Nรฅr brugeren kommer ind i tekstboksen kaldes onChange-hรฆndelsen, og navnefeltet inde i tilstandsobjektets tilstand opdateres som vist nedenfor:
UpdateName(event) {
this.setState({name: event.target.value});
}
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import Form from './form.jsx';
ReactDOM.render(
<Form />,
document.getElementById('root')
);
Outputtet i browseren er som fรธlger:
Trin 1) Indtast dit navn i tekstboksen:
- Klik pรฅ knappen Send
Arbejde med begivenheder i ReactJS
At arbejde med begivenheder i reactjs er det samme, som du ville have gjort i javascript. Du kan bruge alle de hรฆndelseshandlere, der bruges i javascript. Metoden setState() bruges til at opdatere tilstanden, nรฅr brugeren interagerer med et hvilket som helst HTML-element.
Her er et fungerende eksempel pรฅ, hvordan man bruger hรฆndelser i reactjs.
events.jsx
import React from 'react';
import ReactDOM from 'react-dom';
class EventTest extends React.Component {
constructor(props) {
super(props);
this.state = {name: ''};
this.UpdateName = this.UpdateName.bind(this);
this.testclick = this.testclick.bind(this);
}
UpdateName(event) {
this.setState({name: event.target.value});
}
testclick(event) {
alert("The name entered is: "+ this.state.name);
}
render() {
return (
<div>
Enter Your Name:<input type="text" value={this.state.name} onChange={this.UpdateName} /><br/>
<h2>{this.state.name}</h2>
<input type="button" value="Click Here" onClick={this.testclick} />
</div>
);
}
}
export default EventTest;
For inputfelterne skal vi vedligeholde tilstanden, sรฅ for at reagere giver en speciel metode kaldet setState, som er med til at opretholde staten, nรฅr der sker en รฆndring.
Vi har brugt arrangementer vi รฆndrer os og onclick pรฅ tekstboksen og knappen. Nรฅr brugeren kommer ind i tekstboksen vi รฆndrer os hรฆndelsen kaldes, og navnefeltet i tilstandsobjektets tilstand opdateres som vist nedenfor:
UpdateName(event) {
this.setState({name: event.target.value});
}
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import EventTest from './events.jsx';
ReactDOM.render(
<EventTest />,
document.getElementById('root')
);
Her er output i browseren:
Nรฅr en bruger indtaster navnet:
Nรฅr brugeren klikker pรฅ knappen Klik her:
Arbejde med Inline CSS i ReactJS
Vil tage et kig pรฅ et fungerende eksempel for at forstรฅ, hvordan inline css fungerer i reactjs.
addstyle.jsx
import React from 'react';
import ReactDOM from 'react-dom';
const h1Style = {
color: 'red'
};
function Hello(props) {
return <h1 style={h1Style}>{props.msg}</h1>;
}
const Hello_comp = <Hello msg="Hello, from Guru99 Tutorials!" />;
export default Hello_comp;
Jeg har tilfรธjet farve: 'rรธd' stil til h1-tagget.
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import Hello_comp from './addstyle.jsx';
ReactDOM.render(
Hello_comp,
document.getElementById('root')
);
Outputtet i browseren er som fรธlger:
Du kan oprette et stilobjekt, som du รธnsker pรฅ elementet, og bruge et udtryk til at tilfรธje stil, som vist i eksemplet ovenfor.
Arbejde med ekstern CSS i ReactJS
Lad os oprette en ekstern css , for at oprette en mappe css/ og tilfรธje style.css i den.
style.css
.h1tag {
color:red;
}
Tilfรธj style.css til din index.html fil
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>ReactJS Demo</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id = "root"></div>
<script src = "out/script.min.js"></script>
</body>
</html>
Lad os nu tilfรธje klassen til h1-tagget i .jsx-filen
addstyle.jsx
import React from 'react';
import ReactDOM from 'react-dom';
let classforh1 = 'h1tag';
function Hello(props) {
return <h1 className={classforh1}>{props.msg}</h1>;
}
const Hello_comp = <Hello msg="Hello, from Guru99 Tutorials!" />;
export default Hello_comp;
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import Hello_comp from './addstyle.jsx';
ReactDOM.render(
Hello_comp,
document.getElementById('root')
);
Klassenavn-attributten fรฅr klassedetaljerne. Lad os nu teste i browseren.
Dette er, hvad du ser, nรฅr du inspicerer h1-tagget i browseren:
Du kan se, at class=" h1tag" er tilfรธjet med succes til h1-tagget.
Resumรฉ
- ReactJS er en open source-frontend JavaScriptbibliotek til at bygge brugergrรฆnsefladen. Det vedligeholdes af Facebook og bruges af mange virksomheder i dag til UI-udvikling.
- Kernefunktionerne i ReactJS inkluderer JSX, komponenter (funktionelle komponenter og klassebaserede komponenter), en komponents livscyklus, rekvisitter og statsstรธtte til en komponent, der arbejder med javascript-udtryk.
- Projektopsรฆtning af ReactJS er forklaret ved hjรฆlp af CDN-filer og ogsรฅ ved hjรฆlp af npm-pakker til at bygge projektet.
- JSX er en udvidelse til javascript. Det er et skabelonscript, hvor du kan bruge HTML og javascript sammen.
- Komponenter er som rene javascript-funktioner, der hjรฆlper med at gรธre koden let ved at opdele logikken i genanvendelig uafhรฆngig kode.
- En tilstand er et javascript-objekt, der ligner rekvisitter, der har data, der skal bruges med reactjs-gengivelsen. Tilstandsdataene er et privat objekt og bruges i komponenter inde i en klasse.
- Rekvisitter er egenskaber, der skal bruges inde i en komponent.
- En komponentlivscyklus er opdelt i initialiserings-, monterings-, opdaterings- og afmonteringsstadier.
- I reactjs html input elementer som , og <select /> har deres egen tilstand og skal opdateres, nรฅr brugeren interagerer ved hjรฆlp af setState()-metoden.
- At arbejde med begivenheder i reactjs er det samme, som du ville have gjort i javascript. Du kan bruge alle de hรฆndelseshandlere, der bruges i javascript. Metoden setState() bruges til at opdatere tilstanden, nรฅr brugeren interagerer med et hvilket som helst HTML-element.
- ReactJS giver dig mulighed for at arbejde med ekstern css sรฅvel som inline css ved hjรฆlp af javascript-udtryk.
Tjek ogsรฅ:- Top 70 React Interview Spรธrgsmรฅl og Svar (Opdateret)























