如果我理解你的問題正確的話,你要更新狀態改變時(例如用戶創建一個帳戶),以顯示其組成部分,與國家由一個子組件被改變。這是一個顯示孩子 - >父母溝通的基本示例。在這種情況下,RegisterAccount
組件是根組件。如果它是另一個組件的子組件,它也需要知道本例中使用的狀態,那麼狀態可能會更好地存儲在鏈上(並作爲道具傳遞)。
jsfiddle of this example
/** @jsx React.DOM */
var AddAccount = React.createClass({
handleRegistration: function() {
this.props.updateAccount(true);
},
render: function() {
return <a onClick={this.handleRegistration}>Create my account</a>;
}
});
var AccountAdded = React.createClass({
render: function() {
return <span>Account exists now</span>;
}
});
var RegisterAccount = React.createClass({
getInitialState: function() {
return {
hasAccount: false
};
},
updateAccountStatus: function(status) {
this.setState({
hasAccount: status
});
},
render: function() {
return (
<div>
{this.state.hasAccount ? <AccountAdded /> : <AddAccount updateAccount={this.updateAccountStatus} />}
</div>
);
}
});
React.renderComponent(<RegisterAccount />, document.body);
要點是'
嗨@andreypopp,謝謝,但恐怕這不是我想要的。說RegisterAccount有一個圖標,當點擊時,必須彈出組件AddAccount,並且一旦註冊帳戶RegisterAccount必須知道註冊已發生(可能來自AddAccount),然後它應該有AccountAdded組件。每次單擊RegisterAccount上的圖標時都應重複此操作。 如何設置此通信? – 5122014009