说我有这个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}'是您需要更改的内容,您应该将更改回调作为父项的属性传递。 –