私はこのリアクションクラスを持っていると言っています。これは私がレンダリングしている主なコンポーネントではありません。ここでUPWARDSで設定した状態iを親コンポーネントに渡すにはどうしたらいいですか?リアクトで状態を持ち上げる
class Player extends React.Component {
constructor(props) {
super(props);
this.state = {
playerOneName: ''
}
this.selectPlayerOne = this.selectPlayerOne.bind(this);
}
selectPlayerOne(e, data) {
this.setState({playerOneName: data.value})
}
render() {
let players = [];
this.props.players.map((player) => {
players.push({text: player.name, value: player.name})
})
return (
<div className="playersContainer">
<div className="players">
<Dropdown onChange={this.selectPlayerOne} placeholder='Select Player One' fluid selection options={players} />
</div>
</div>
)
}
}
私は親コンポーネントを言うとき、私はそうのようなプレーヤーを表示しようとしているクラスを意味する:
<Player />
すなわち、どのように私はthis.state.playerOneNameを親に利用可能にすることができますか?
を使って好きなときに、あなたの親コンポーネントで
playerOneName
を更新使用可能な性質により、一方向で反応します。あなたは、あなたが子供から親に状態を渡すべきではない、または私は言うべきではありません。このためには、あなたはレキシックスまたはフラックスを使用する必要があります。 –@ShubhamJainそれでは、何が起きているのですか? –
@ TheWalrusこの部分の 'onChange = {this.selectPlayerOne}'はあなたが変更する必要があるもので、変更時コールバックを親からのプロパティとして渡す必要があります。 –