Differenza tra React State e oggetti di scena

In questo articolo React State vs Props, scopriremo le principali differenze tra due componenti di reazione molto importanti, stato e oggetti di scena. Tratteremo alcuni esempi di base per capire le differenze tra stato e oggetti di scena. Inoltre, vedremo situazioni in cui è possibile utilizzare lo stato o gli oggetti di scena.

Stato: lo stato può essere considerato come un'istanza della classe del componente reagire ed è principalmente utilizzato per comunicare con un componente. Lo stato di una reazione di un componente è un oggetto che contiene informazioni che possono o meno cambiare nel corso del ciclo di vita di un componente. L'oggetto State memorizza i valori delle proprietà relative a un componente. Ogni volta che si verifica una modifica delle proprietà relative a un componente, il valore associato all'oggetto stato cambia e il componente si ridistribuisce, il che significa che cambierà se stesso con i nuovi valori. Ecco un esempio che spiegherà lo stato di reazione:

Codice:

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

);
)
)

Produzione:

Consideriamo ora che vogliamo modificare le proprietà dei componenti. Per raggiungere questo obiettivo, esiste un metodo chiamato setState (). Nota che dovresti sempre usare il metodo setState () per cambiare lo stato di un componente, si assicurerà che il componente ritorni il suo stato.

Codice:

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)

È un (this.state.color)
() This.state.Modelnumber
da (this.state.launch-year).


type = "button"
onClick = () this.changeColor
> Cambia colore bici
);
)
)

Nel codice sopra, abbiamo aggiunto un pulsante su clic su cui verranno apportate nuove modifiche sul componente. Il codice sopra produrrà il seguente output sul clic del pulsante.

Produzione:

Puntelli: i puntelli in ReactJs vengono utilizzati per inviare dati ai componenti. I puntelli sono equivalenti ai parametri di pura funzione javascript. Poiché i parametri delle funzioni pure non possono essere modificati una volta assegnati, non possiamo modificarne i valori. L'esempio seguente mostrerà come vengono usati gli oggetti di scena:

Codice:

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

Produzione:

Se il componente ha un costruttore, l'oggetto props dovrebbe essere necessario passato al costruttore usando super. Ecco un esempio:

Codice:

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

Produzione:

Confronto testa a testa tra React State vs Props (Infographics)

Di seguito sono riportati i primi 4 confronti tra React State vs Props :

Differenze chiave tra stato di reazione e oggetti di scena

Discutiamo alcune delle principali differenze chiave tra React State vs Props :

  1. I puntelli sono immutabili, il cui contenuto non può essere modificato una volta assegnato, ma lo stato è un oggetto utilizzato per contenere dati che possono cambiare in futuro, inoltre lo stato controlla il comportamento del componente dopo aver apportato la modifica.
  2. Sia i puntelli che gli stati vengono utilizzati per l'archiviazione dei dati relativi a un componente.
  3. Gli stati possono essere utilizzati solo nei componenti di classe, mentre gli oggetti di scena non hanno tale limitazione.
  4. I puntelli sono generalmente impostati dal componente genitore mentre lo stato è governato dai gestori di eventi, ovvero sono gestiti dal componente stesso.
  5. Lo stato è locale per un componente e non può essere utilizzato in altri componenti mentre i puntelli consentono ai componenti figlio di leggere i valori dai componenti principali.

Tabella comparativa di React State vs Props

La tabella seguente riassume i confronti tra React State vs Props :

Stato di reazione puntelli
Lo stato di reazione è modificabile e il suo valore può essere modificato secondo i requisiti.I puntelli sono immutabili, cioè il loro contenuto non può essere cambiato una volta assegnato.
Gli stati possono essere utilizzati solo dai componenti di classe.I puntelli possono essere utilizzati per classe e altri componenti.
Impostato dal componente padre.Impostato dai gestori di eventi, ovvero che sono completamente gestiti dal componente stesso.
Lo stato è locale per un componente e non può essere utilizzato in altri componenti.I puntelli consentono ai componenti figlio di leggere i valori dai componenti padre.

Conclusione

Dopo aver trattato le caratteristiche di entrambi gli stati e gli oggetti di scena, abbiamo concluso che ogni volta che esiste una possibilità di modifiche alle proprietà relative a un componente, dovremmo preferire lo stato in quanto consente il rendering di proprietà. I puntelli, d'altra parte, consentono ai componenti figlio di accedere ai metodi definiti nei componenti padre, ciò riduce al minimo la necessità che i componenti figlio abbiano il loro stato. I puntelli sono di sola lettura nei componenti figlio. Vale la pena notare che lo stato e gli oggetti di scena sono componenti molto importanti dell'architettura di reazione.

Articoli consigliati

Questa è una guida a React State vs Props. Qui discutiamo anche le differenze chiave tra React State e Props con infografica e tabella comparativa. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. Domande di intervista a GitHub
  2. Migliori differenze - Jira vs Github
  3. Le 19 principali domande di intervista a ReactJs
  4. Primi 10 usi di React JS
  5. I migliori 11 strumenti di React con le loro caratteristiche

Categoria: