Razlika med React State in rekviziti

V tem članku bomo odkrili velike razlike med dvema pomembnima komponentama reakcije, stanjem in rekvizitom. Zajeli bomo nekaj osnovnih primerov, da bomo ugotovili razlike med stanjem in rekviziti. Prav tako bomo videli situacije, ko je mogoče uporabiti stanje ali rekvizite.

Stanje: Država se lahko šteje za primerek reaktivnega razreda komponent in se v glavnem uporablja za komunikacijo s komponento. Stanje reakcijske komponente je predmet, ki vsebuje informacije, ki se lahko ali ne spremenijo v celotnem življenjskem ciklu komponente. Predmet države hrani vrednosti lastnosti, povezane s komponento. Kadar koli se spremenijo lastnosti, povezane s komponento, se vrednost, povezana s predmetom stanja, spremeni in komponenta se bo ponovno upodobila, kar pomeni, da se bo sama spremenila z novimi vrednostmi. Tu je primer, ki bo razložil stanje reakcije:

Koda:

class Bike extends React.Component (
constructor(props) (
super(props);
this.state = (
Company: "Yamaha",
Modelnumber : "R15",
color: "blue",
launch-year: 2001
);
)
render() (
return (
Name (this.state. Company)
This is a (this.state.color)
(this.state. Modelnumber)
from (this.state. launch-year).

);
)
)

class Bike extends React.Component (
constructor(props) (
super(props);
this.state = (
Company: "Yamaha",
Modelnumber : "R15",
color: "blue",
launch-year: 2001
);
)
render() (
return (
Name (this.state. Company)
This is a (this.state.color)
(this.state. Modelnumber)
from (this.state. launch-year).

);
)
)

class Bike extends React.Component (
constructor(props) (
super(props);
this.state = (
Company: "Yamaha",
Modelnumber : "R15",
color: "blue",
launch-year: 2001
);
)
render() (
return (
Name (this.state. Company)
This is a (this.state.color)
(this.state. Modelnumber)
from (this.state. launch-year).

);
)
)

class Bike extends React.Component (
constructor(props) (
super(props);
this.state = (
Company: "Yamaha",
Modelnumber : "R15",
color: "blue",
launch-year: 2001
);
)
render() (
return (
Name (this.state. Company)
This is a (this.state.color)
(this.state. Modelnumber)
from (this.state. launch-year).

);
)
)

class Bike extends React.Component (
constructor(props) (
super(props);
this.state = (
Company: "Yamaha",
Modelnumber : "R15",
color: "blue",
launch-year: 2001
);
)
render() (
return (
Name (this.state. Company)
This is a (this.state.color)
(this.state. Modelnumber)
from (this.state. launch-year).

);
)
)

Izhod:

Zdaj pa razmislimo, da želimo spremeniti lastnosti komponent. Da bi to dosegli, obstaja metoda, imenovana setState (). Upoštevajte, da morate za spremembo stanja komponente vedno uporabljati metodo setState (), saj bo poskrbel, da bo komponenta ponovno upodobila svoje stanje.

Koda:

class Car extends React.Component (
constructor(props) (
super(props);
this.state = (
Company: "Ford",
Modelnumber : "Mustang",
color: "red",
launch-year: 1964
);
)
changeColor = () => (
this.setState((color: "green"));
)
render() (
return (
My (this.state.Company)

class Car extends React.Component (
constructor(props) (
super(props);
this.state = (
Company: "Ford",
Modelnumber : "Mustang",
color: "red",
launch-year: 1964
);
)
changeColor = () => (
this.setState((color: "green"));
)
render() (
return (
My (this.state.Company)

class Car extends React.Component (
constructor(props) (
super(props);
this.state = (
Company: "Ford",
Modelnumber : "Mustang",
color: "red",
launch-year: 1964
);
)
changeColor = () => (
this.setState((color: "green"));
)
render() (
return (
My (this.state.Company)

To je (this.state.color)
(this.state.Modelnumber)
od (this.state.launch-year).


type = "gumb"
onClick = (this.changeColor)
> Spremeni barvo kolesa
);
)
)

V zgornji kodi smo na klik dodali gumb, na katerem bodo na komponenti upodobljene nove spremembe. Zgornja koda bo s klikom na gumb ustvarila naslednji izhod.

Izhod:

Rekviziti: rekviziti v ReactJs se uporabljajo za pošiljanje podatkov komponentam. Podpora je enakovredna parametrom funkcij javascripta. Ker čistih funkcijskih parametrov ni mogoče spremeniti, ko jih dodelimo, ne moremo spremeniti njihovih vrednosti. Spodnji primer prikazuje, kako se uporabljajo rekviziti:

Koda:

class Bike extends React.Component (
render() (
return This is (this.props.Companyname)
)
)
const component = ;

class Bike extends React.Component (
render() (
return This is (this.props.Companyname)
)
)
const component = ;

class Bike extends React.Component (
render() (
return This is (this.props.Companyname)
)
)
const component = ;

Izhod:

Če ima komponenta konstruktor, mora biti objekt rekvizita potreben, da se posreduje konstruktorju z uporabo super. Tu je primer:

Koda:

class Bike extends React.Component (
constructor(props) (
super(props);
)
render() (
return This is a Bike ;
)
)

class Bike extends React.Component (
constructor(props) (
super(props);
)
render() (
return This is a Bike ;
)
)

class Bike extends React.Component (
constructor(props) (
super(props);
)
render() (
return This is a Bike ;
)
)

Izhod:

Primerjava med glavo in reakcijami (Infographics)

Spodaj so zgornje 4 primerjave med React State in Props :

Ključne razlike med React State in rekviziti

Pogovorimo se o nekaterih glavnih ključnih razlikah med React State in Props :

  1. Podporniki so nespremenljivi, saj njihove vsebine ni mogoče spremeniti, ko jih dodelite, vendar je stanje predmet, ki se uporablja za shranjevanje podatkov, ki se lahko spremenijo v prihodnosti, država pa nadzira tudi vedenje komponente po spremembi.
  2. Tako Props kot stanja se uporabljajo za shranjevanje podatkov, povezanih s komponento.
  3. Države se lahko uporabljajo samo v komponentah razreda, medtem ko rekviziti nimajo takšnih omejitev.
  4. Podpornike običajno postavlja nadrejena komponenta, medtem ko državo urejajo upravljavci dogodkov, torej da komponento upravlja sama komponenta.
  5. Stanje je za komponento lokalno in ga ni mogoče uporabiti v drugih komponentah, medtem ko rekviziti omogočajo nadrejenim komponentam, da berejo vrednosti iz nadrejenih komponent.

Primerjalna tabela React State proti rekvizitom

Spodnja tabela povzema primerjave med React State in Props :

Reakcijska država Rekviziti
Stanje reakcije je spremenljivo in njegova vrednost se lahko spremeni glede na zahtevo.Podpora je nespremenljiva, to pomeni, da njihove vsebine ni mogoče spremeniti, ko jo dodelite.
Stanje lahko uporabljajo samo sestavni deli razreda.Podpora lahko uporabljate tako za razred kot druge sestavne dele.
Nastavi ga nadrejena komponenta.Pri obdelavi dogodkov, ki jih določijo, da jih komponenta v celoti upravlja sama.
Stanje je za komponento lokalno in ga ni mogoče uporabiti v drugih komponentah.Pomočniki omogočajo nadrejenim komponentam branje vrednosti iz nadrejenih komponent.

Zaključek

Po zajetju lastnosti stanja in rekvizitov smo ugotovili, da kadar koli obstaja možnost sprememb lastnosti, povezanih s komponento, bi morali raje stanje, saj omogoča ponovno upodabljanje lastnosti. Nasprotno pa rekviziti omogočajo nadrejenim komponentam dostop do metod, ki so opredeljene v nadrejenih komponentah, kar zmanjšuje potrebo po nadrejenih komponentah. Podpora za branje samo v otroških komponentah. Omeniti velja, da sta stanje in rekviziti zelo pomembni sestavni deli reakcijske arhitekture.

Priporočeni članki

To je vodnik za React State vs Props. Tukaj razpravljamo tudi o ključnih razlikah med reakcijami in primerjalno tabelo React State vs Props. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Vprašanja za intervju GitHub
  2. Najboljše razlike - Jira proti Github
  3. Prvih 19 vprašanj za intervju ReactJs
  4. Najboljših 10 uporab React JS
  5. 11 najboljših orodij reagiranja z njihovimi lastnostmi