說我有這個React類。這不是我正在渲染的主要組件。我怎麼能把我在這裏設置的狀態傳遞給父組件。在React中提升狀態
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
本質上是單向的。你不能或者我應該說你不應該將狀態從小孩傳遞給父母。爲此,您必須使用redux或助焊劑。 –@ShubhamJain什麼是提升狀態呢? –
@TheWalrus這部分'onChange = {this.selectPlayerOne}'是您需要更改的內容,您應該將更改回調作爲父項的屬性傳遞。 –