Différence entre React State et Props

Dans cet article React State vs Props, nous découvrirons les principales différences entre deux composants React très importants, l'état et les accessoires. Nous allons couvrir quelques exemples de base pour comprendre les différences entre l'état et les accessoires. En outre, nous verrons des situations où l'état ou les accessoires peuvent être utilisés.

État: l' état peut être considéré comme une instance de classe de composant React et est principalement utilisé pour communiquer avec un composant. L'état d'une réaction d'un composant est un objet qui contient des informations qui peuvent ou non changer au cours du cycle de vie d'un composant. L'objet State stocke les valeurs des propriétés liées à un composant. Chaque fois qu'il y a un changement dans les propriétés liées à un composant, la valeur associée à l'objet d'état change et le composant se restitue, ce qui signifie qu'il se changera par les nouvelles valeurs. Voici un exemple qui expliquera l'état de réaction:

Code:

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

);
)
)

Production:

Considérons maintenant que nous voulons changer les propriétés des composants. Pour ce faire, il existe une méthode appelée setState (). Notez que vous devez toujours utiliser la méthode setState () pour changer l'état d'un composant, il s'assurera que le composant restituera son état.

Code:

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)

C'est un (this.state.color)
(this.state.Modelnumber)
à partir de (this.state.launch-year).


type = "bouton"
onClick = (this.changeColor)
> Changer la couleur du vélo
);
)
)

Dans le code ci-dessus, nous avons ajouté un bouton en cliquant sur lequel les nouvelles modifications seront rendues sur le composant. Le code ci-dessus produira la sortie suivante lors du clic sur le bouton.

Production:

Accessoires: Les accessoires dans ReactJ sont utilisés pour envoyer des données aux composants. Les accessoires sont équivalents aux paramètres de fonction pure javascript. Étant donné que les paramètres de fonction purs ne peuvent pas être modifiés une fois attribués, nous ne pouvons pas modifier leurs valeurs. L'exemple ci-dessous montre comment les accessoires sont utilisés:

Code:

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

Production:

Si le composant a un constructeur, l'objet props devrait être nécessaire passé au constructeur en utilisant super. Voici un exemple:

Code:

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

Production:

Comparaison directe entre l'état réactif et les accessoires (infographie)

Voici les 4 meilleures comparaisons entre React State et Props :

Différences clés entre React State et Props

Voyons quelques-unes des principales différences entre React State et Props :

  1. Les accessoires sont immuables, c'est-à-dire que leur contenu ne peut pas être modifié une fois attribué, mais l'état est un objet qui est utilisé pour contenir des données qui peuvent changer à l'avenir, l'état contrôle également le comportement du composant après la modification.
  2. Les accessoires et les états sont utilisés pour stocker les données liées à un composant.
  3. Les états ne peuvent être utilisés que dans les composants de classe alors que les accessoires n'ont pas cette restriction.
  4. Les accessoires sont généralement définis par le composant parent, tandis que l'état est régi par des gestionnaires d'événements, c'est-à-dire qu'ils sont gérés par le composant lui-même.
  5. L'état est local à un composant et ne peut pas être utilisé dans d'autres composants tandis que les accessoires permettent aux composants enfants de lire les valeurs des composants parents.

Tableau de comparaison de React State vs Props

Le tableau ci-dessous résume les comparaisons entre React State et Props :

État de réaction Accessoires
L'état de réaction est modifiable et sa valeur peut être modifiée selon les exigences.Les accessoires sont immuables, c'est-à-dire que leur contenu ne peut pas être modifié une fois attribué.
Les états ne peuvent être utilisés que par des composants de classe.Les accessoires peuvent être utilisés par classe ainsi que d'autres composants.
Défini par le composant parent.Définis par les gestionnaires d'événements, c'est-à-dire qu'ils sont entièrement gérés par le composant lui-même.
L'état est local pour un composant et ne peut pas être utilisé dans d'autres composants.Les accessoires permettent aux composants enfants de lire les valeurs des composants parents.

Conclusion

Après avoir couvert les caractéristiques de l'état et des accessoires, nous avons conclu que chaque fois qu'il existe une possibilité de changements de propriété liés à un composant, nous devrions préférer l'état car il permet le rendu des propriétés. Les accessoires, d'autre part, permettent aux composants enfants d'accéder aux méthodes définies dans les composants parents, ce qui minimise le besoin des composants enfants d'avoir leur état. Les accessoires sont en lecture seule dans les composants enfants. Il convient de noter que l'état et les accessoires sont des composants très importants de l'architecture React.

Articles recommandés

Ceci est un guide pour React State vs Props. Ici, nous discutons également des principales différences entre React State et Props avec des infographies et un tableau de comparaison. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. Questions d'entretiens chez GitHub
  2. Meilleures différences - Jira vs Github
  3. Top 19 des questions d'entretien de ReactJs
  4. Top 10 des utilisations de React JS
  5. Les 11 meilleurs outils de React avec leurs fonctionnalités