[react]Childコンポーネント→その他のコンポーネントプログラミングモード
この文章はコードアカデミーのreact 101コースのノートです.
Child Components → Parents' State
💡 目的:親から受信したsetStateメソッドを使用して、親構成部品のステータスを変更します.
実施方法 Parent Componentのthis.setStateの実行方法の定義
: 新しい方法は、
:このメソッドをChild Componentに渡しても、Parent Componentのstateを変更できます( )メソッド定義およびバインディングが完了すると、このメソッドはChildコンポーネント Child Componentはこのように伝達する方法 を用いる.
💡 目的:親構成部品から受け取ったsetStateメソッドを使用して、子構成部品が親構成部品のステータスを変更した後、親構成部品は他の子構成部品(兄弟)に渡されます.
実施方法 Parent ComponentでsetStateメソッドを実行するChild Componentは Childコンポーネントでは、 Siblingコンポーネントには、Childコンポーネントの変更値を反映するjsx→{this.props.name}が含まれ、 をレンダリングするために使用されます.
Child Components → Parents' State
💡 目的:親から受信したsetStateメソッドを使用して、親構成部品のステータスを変更します.
実施方法
:
handleClick()
メソッド呼び出しsetState
stateの変更class ParentClass extends React.Component {
constructor(props) {
super(props);
this.state = { totalClicks: 0 };
}
handleClick() {
const total = this.state.totalClicks;
this.setState(
{ totalClicks: total + 1 }
);
}
}
bind
の構造関数を要求する.:このメソッドをChild Componentに渡しても、Parent Componentのstateを変更できます(
class ParentClass extends React.Component {
constructor(props) {
super(props);
this.state = { totalClicks: 0 };
this.handleClick = this.handleClick.bind(this);
}
props
に渡される render() {
return (
<ChildClass onClick={this.handleClick} />
);
}
export class ChildClass extends React.Component {
render() {
return (
<button onClick={this.props.onClick}>
Click Me!
</button>
);
}
}
Child Components → Sibling Components💡 目的:親構成部品から受け取ったsetStateメソッドを使用して、子構成部品が親構成部品のステータスを変更した後、親構成部品は他の子構成部品(兄弟)に渡されます.
実施方法
this.changeName
メソッドを提供し、setStateで値を変更するSibling Componentはthis.state.name
メソッドを提供します. render() {
return (
<div>
<Child onChange={this.changeName} />
<Sibling name={this.state.name} />
</div>
);
}
this.props.onChange
関数を実行するhandleChange
メソッドが作成され、イベントリスナーに追加される.export class Child extends React.Component {
constructor(props) {
super(props);
this.handleChange = this.handleChange.bind(this);
}
handleChange(e) {
const name = e.target.value;
this.props.onChange(name);
}
render() {
return (
<div>
<select
id="great-names"
onChange={this.handleChange}>
<option value="Frarthur">Frarthur</option>
<option value="Gromulus">Gromulus</option>
<option value="Thinkpiece">Thinkpiece</option>
</select>
</div>
);
}
}
export class Sibling extends React.Component {
render() {
const name = this.props.name;
return (
<div>
<h1>Hey, my name is {name}!</h1>
<h2>Don't you think {name} is the prettiest name ever?</h2>
<h2>Sure am glad that my parents picked {name}!</h2>
</div>
);
}
}
Reference
この問題について([react]Childコンポーネント→その他のコンポーネントプログラミングモード), 我々は、より多くの情報をここで見つけました https://velog.io/@jujusnake/React-Child-Components-Parents-Stateテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol