React_State & Props
reactを使用して画面を構成部品に分割します.
Nav、Main、Footerに分類される場合があります.また、Mainにはプロファイルコンポーネント、製品説明コンポーネントがある場合があります.
従って親素子の下の子素子が属する構成となる.
親と子供の間でデータを交換しなければならない.
PropsとStateはReactでデータを管理するために必要な要素です.
正しく理解して使うことが大切です😶
stateは、素子自体が持つ状態値です.
関数に変数を宣言すると、その変数は関数自身が所有および管理する値となり、stateは画面に表示する構成部品のステータス値を持つオブジェクトです.
独自の値であるため、構成部品内で直接値を変更できます.
this.stateはオブジェクトで、
素子から状態値を取得する場合、
では、宣言のステータス値をどのように変更しますか?
state値を呼ぶとき
Ex)Profile素子では、
Profileコンポーネント自体を指します.
propsは、親エレメントが子エレメントに渡されるプロパティです.
すべての構成部品に組み込まれたオブジェクト.
値を自由に変更できるstateとは異なり、
props親コンポーネントから渡されるため、値は変更できません.
propsにより、親コンポーネントは、自分のステータス値、イベントなどをサブコンポーネントに渡すことができます.
上記のように、親コンポーネントはstate値だけでなく、関数、イベントなどを渡すことができます.
構造分解分配はES 6の出現に伴って用いられる方式である.
オブジェクトとその配列の値を取得すると、オブジェクトまたは配列を変数に分解できます.
コードの重複を減らし、簡潔に表現します.
Reactを使うには2つの難点があります.
必要なelementをインポートし、eventまたは関数を直接elementに割り当てます.
Vanilla Jsとは異なり,Reactは素子にイベントと関数を与える.
(?)それは難しいです.
親と子供の間でどのようにデータを交換しますか?
ある時点で、親と子供の間にデータ移動が必要です.
作成するデータ/関数/論理はどのコンポーネントに適していますか?
要するに、コードを書くときは、自分の信念やルールを生み出し、慣れていくために、より多くの反応を書く必要があると思います.
今回はpropsとstateの概念を理解して、2番の悩みに対する疑問が緩和されたようです.
そのためか、Instagramのコメント付加機能もデータを伝える部分が詰まっていて、会話を聞いてすぐに解決できます.😁
Nav、Main、Footerに分類される場合があります.また、Mainにはプロファイルコンポーネント、製品説明コンポーネントがある場合があります.
従って親素子の下の子素子が属する構成となる.
親と子供の間でデータを交換しなければならない.
PropsとStateはReactでデータを管理するために必要な要素です.
正しく理解して使うことが大切です😶
State
stateは、素子自体が持つ状態値です.
関数に変数を宣言すると、その変数は関数自身が所有および管理する値となり、stateは画面に表示する構成部品のステータス値を持つオブジェクトです.
独自の値であるため、構成部品内で直接値を変更できます.
class Parent extends React.Component {
constructor() {
super();
this.state = {
weather: 'HOT'
};
}
render(){
return <h1>Today's weather is {this.state.weather}!</h1>;
// print: Today's weather is HOT!
}
}
まずこれ.stateは初期値を宣言します.this.stateはオブジェクトで、
key: value
形式で書くことができます.素子から状態値を取得する場合、
this.state.key값
this.state.key값
を値とするセルは、state値に基づいて自分の値を決定するので、state値が変更されると、値は一緒に変更されます.では、宣言のステータス値をどのように変更しますか?
class Parent extends React.Component {
constructor() {
super();
this.state = {
weather: 'HOT'
};
}
handleWeather = () => {
this.setState({
weather: 'COLD'
})
}
render(){
return (
<h1>Today's weather is {this.state.weather}!</h1>
<button onClick={this.handleWeather}>Change Weather</button>
);
}
}
state値は、this.setState
関数でキーの値を再指定することで変更できます.this.setState
起動時に構成部品が再運転されるrender
関数.変更したstate値を代入し、変更した内容で画面を再描画します.state値を呼ぶとき
{this.state.~~~}
関数を呼ぶとき{this.함수명}
このまま続いているのが見えますthis
this
「私が所属しているこの素子」は簡単だと思います.Ex)Profile素子では、
Profileコンポーネント自体を指します.
props
propsは、親エレメントが子エレメントに渡されるプロパティです.
すべての構成部品に組み込まれたオブジェクト.
値を自由に変更できるstateとは異なり、
props親コンポーネントから渡されるため、値は変更できません.
propsにより、親コンポーネントは、自分のステータス値、イベントなどをサブコンポーネントに渡すことができます.
// Main.js
import React from 'react';
import Comment from './Comment.js';
class Main extends React.Component {
constructor() {
super();
this.state = {
userID: 'Quokka'
}
}
render() {
return(
<div>
<h1>Comment List</h1>
<ul>
<Comment userID={this.state.userID}/>
</ul>
</div>
);
}
}
export default Main;
上のコードはMainですjsの状態値——this.handleClick
Commentコンポーネントの読み込み時に渡す.// Comment.js
import React from 'react';
class Comment extends React.Component {
render() {
console.log(this.props);
//
return <li>I'm {this.props.userID}</li>
}
}
export default Comment;
Main.js譲渡のuserID
Comment.jsで確認できるのはuserID
Comment.jsのprops値を{this.props.userID}
と確認します.console.log(this.props)
客体に移行していることがわかる. 上記のように、親コンポーネントはstate値だけでなく、関数、イベントなどを渡すことができます.
構造分解の割り当て
構造分解分配はES 6の出現に伴って用いられる方式である.
オブジェクトとその配列の値を取得すると、オブジェクトまたは配列を変数に分解できます.
コードの重複を減らし、簡潔に表現します.
let arr = ['Poo', 'Robbin'];
let [first, second] = arr;
// first = 'Poo', second = 'Robbin'
対策を講じて開発を進めていくと、引き続き繰り返しuserID
this.props.~~~
直接使っても大丈夫ですが、コードを減らしたり、可読性を高めたりするには、構造分解配分方式を使用します.const isSwitchOn = this.state.isSwitchOn;
const color = this.state.color;
上の2行のコードconst {isSwitchOn, color} = this.state
これで1行で表現できます.の最後の部分
Reactを使うには2つの難点があります.
必要なelementをインポートし、eventまたは関数を直接elementに割り当てます.
Vanilla Jsとは異なり,Reactは素子にイベントと関数を与える.
(?)それは難しいです.
親と子供の間でどのようにデータを交換しますか?
ある時点で、親と子供の間にデータ移動が必要です.
作成するデータ/関数/論理はどのコンポーネントに適していますか?
今回はpropsとstateの概念を理解して、2番の悩みに対する疑問が緩和されたようです.
そのためか、Instagramのコメント付加機能もデータを伝える部分が詰まっていて、会話を聞いてすぐに解決できます.😁
Reference
この問題について(React_State & Props), 我々は、より多くの情報をここで見つけました https://velog.io/@alswl5181/ReactState-Propsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol