Різниця між React State і реквізитом
У цій статті React State vs Props ми розберемо основні відмінності між двома дуже важливими компонентами реагування, станом та реквізитом. Ми розкриємо кілька основних прикладів, щоб з’ясувати відмінності між станом та реквізитом. Також ми побачимо ситуації, коли можна використовувати стан або реквізит.
Стан: Держава може розглядатися як екземпляр класу компонентів реагування і в основному використовується для спілкування з компонентом. Стан реагуючого компонента - це об'єкт, який містить інформацію, яка може або не може змінюватися протягом життєвого циклу компонента. Державний об'єкт зберігає значення властивостей, пов'язаних з компонентом. Щоразу, коли відбувається зміна властивостей, пов’язаних з компонентом, значення, пов'язане з об'єктом стану, змінюється, і компонент буде повторно відображати себе, а це означає, що він змінить себе новими значеннями. Ось приклад, який пояснить стан реакції:
Код:
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).
);
)
)
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).
);
)
)
Вихід:
Тепер розглянемо, що ми хочемо змінити властивості компонента. Для цього існує метод, який називається setState (). Зауважте, що ви завжди повинні використовувати метод setState (), щоб змінити стан компонента, він переконається, що компонент повторно надасть свій стан.
Код:
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)
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)
Це (this.state.color)
(this.state.Modelnumber)
з (this.state.launch-year).