Diferența dintre statul de reacție și poprire

În acest articol Reactează starea față de vârfuri, vom descoperi diferențe majore între două componente de reacție foarte importante, starea și recuzita. Vom acoperi câteva exemple de bază pentru a descoperi diferențele atât de stat cât și de recuzită. De asemenea, vom vedea situații în care starea sau recuzita pot fi utilizate.

Stat: Statul poate fi considerat ca o instanță a clasei de componente de reacție și este utilizat în principal pentru comunicarea cu o componentă. Starea de reacție a unei componente este un obiect care conține informații care se pot schimba sau nu de-a lungul ciclului de viață al unei componente. Obiectul de stat stochează valori ale proprietăților legate de o componentă. Ori de câte ori există o modificare a proprietăților legate de o componentă, valoarea asociată obiectului de stare se schimbă și componenta se va redirecționa, ceea ce înseamnă că se va schimba prin valorile noi. Iată un exemplu care va explica starea de reacție:

Cod:

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).

);
)
)

ieşire:

Acum să luăm în considerare că vrem să schimbăm proprietățile componentelor. Pentru a realiza acest lucru, există o metodă numită setState (). Rețineți că ar trebui să utilizați întotdeauna metoda setState () pentru a schimba starea unei componente, se va asigura că componenta își va redea starea.

Cod:

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)

Este un (this.state.color)
(This.state.Modelnumber)
din (this.state.launch-year).


type = "buton"
onClick = (this.changeColor)
> Schimbă culoarea bicicletei
);
)
)

În codul de mai sus, am adăugat un buton pe clic pe care se vor face modificări noi pe componentă. Codul de mai sus va produce următoarea ieșire pe clic.

ieşire:

Recomandări : Recomandările din ReactJs sunt utilizate pentru a trimite date componentelor. Recuzele sunt echivalente cu parametrii funcției pure javascript. Deoarece parametrii funcției pure nu pot fi schimbați odată alocați, nu putem modifica valorile acestora. Exemplul de mai jos va arăta cum sunt utilizate recuzele:

Cod:

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 = ;

ieşire:

Dacă componenta are un constructor, atunci obiectul de recuzită ar trebui să fie transmis unui constructor folosind super. Iată un exemplu:

Cod:

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 ;
)
)

ieşire:

Comparație față în față între React State și Obiective (Infografie)

Mai jos se află primele 4 comparații între React State și Props :

Diferențele cheie între statul de reacție și poprire

Haideți să discutăm unele dintre diferențele cheie majore între React State și Props :

  1. Recuzele sunt imuabile, deoarece conținutul lor nu poate fi modificat o dată atribuit, dar starea este un obiect care este utilizat pentru a reține date care se pot schimba în viitor, de asemenea, starea controlează comportamentul componentei după modificarea.
  2. Atât Recop, cât și stări sunt utilizate pentru stocarea datelor referitoare la o componentă.
  3. Statele pot fi utilizate doar în componentele clasei, în timp ce recuzita nu are o asemenea restricție.
  4. Recuzele sunt stabilite în general de componenta părinte, în timp ce starea este guvernată de gestionatorii de evenimente, este aceea că sunt gestionate de componenta în sine.
  5. Statul este local pentru o componentă și nu poate fi utilizat în alte componente, în timp ce Recop permite componentelor copil să citească valorile componentelor părinte.

Tabelul de comparație al statului de reacție față de popas

Tabelul de mai jos rezumă comparațiile dintre React State și Recomandări :

Reacționează starea Recuzită
Starea de reacție este mutabilă și valoarea acesteia poate fi modificată conform cerințelor.Recuzele sunt imuabile, adică conținutul lor nu poate fi modificat o dată alocat.
Statele pot fi utilizate numai de componentele clasei.Recuzele pot fi utilizate atât de clasă, cât și de alte componente.
Setat de componenta părinte.Setat de gestionarii de evenimente, înseamnă că sunt gestionate complet de componenta în sine.
Statul este local pentru o componentă și nu poate fi utilizat în alte componente.Recuzele permit componentelor copilului să citească valorile componentelor părinte.

Concluzie

După ce am acoperit caracteristici atât de stare cât și de recuzită, am ajuns la concluzia că, ori de câte ori există o posibilitate de modificări ale proprietății legate de o componentă, atunci ar trebui să preferăm starea, deoarece permite redarea proprietăților. Pe de altă parte, popa permite componentelor copilului să acceseze metode care sunt definite în componentele părinte, ceea ce reduce la minimum necesitatea ca componentele copilului să aibă starea lor. Recuzele sunt citite numai în componentele copilului. De remarcat este faptul că starea și recuzita sunt componente foarte importante ale arhitecturii de reacție.

Articole recomandate

Acesta este un ghid pentru React State vs Props. Aici vom discuta, de asemenea, despre diferențele cheie ale statului reacționat față de oprire cu infografie și tabelul de comparație. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Întrebări la interviu GitHub
  2. Diferențe de top - Jira vs Github
  3. Top 19 întrebări pentru interviu ReactJs
  4. Top 10 Utilizări ale React JS
  5. Top 11 Instrumente de reacție cu caracteristicile lor