在我的情況下,TopicList是一個父組件,而IndividualTopic是一個子組件。當用戶點擊子組件時,它將showTopicDescription的狀態更改爲true。但是,如何將showTopicDescription的值傳遞給父組件(TopicList)或直接設置父組件狀態?如何在React中設置父組件的狀態
var TopicsList = React.createClass({
render: function() {
return (
<div className="row">
<IndividualTopic topic_no="1">
Topic 1
</IndividualTopic>
<IndividualTopic topic_no="2">
Topic 2
</IndividualTopic>
<IndividualTopic topic_no="3">
Topic 3
</IndividualTopic>
<IndividualTopic topic_no="4">
Topic 4
</IndividualTopic>
<div className="col-sm-12">
{ this.state.showTopicDescription ? <IndividualTopicPages /> : null }
</div>
</div>
);
}
});
var selected_topic_no;
var IndividualTopic = React.createClass({
getInitialState: function() {
return { showTopicDescription: false };
},
onClick: function() {
this.setState({ showTopicDescription: true });
selected_topic_no = this.props.topic_no - 1;
},
render: function() {
return (
<div>
<div className="col-sm-2">
<div onClick={this.onClick} className="single-topic" data-topic-no={this.props.topic_no}>
{this.props.children}
</div>
</div>
</div>
);
}
});
參見:https://facebook.github.io/react/tips/communicate-between-components.html – Simone
@simone我在那個鏈接期待已久以前,但我不明白如何實現我案件。 –