それはそれを行う方法のサンプルコードです:
export var LoginBox = React.createClass({
getInitialState(){
return{
registered:false
}
},
Register(){
//submit registration form and change form to login form
...
this.setState({registered : true});
},
login(){
// submit login form here
},
loginForm(){
var{registered} = this.state;
if(registered){// your registeration form
return(
<form onSubmit={this.Register}>
<div><input ref="number" type="tel"/></div>
<button type="submit">register</button>
</form>
);
}else{
return (// your login form
<form onSubmit={this.login}>
<div><input type="number" ref="activationCode"/></div>
<button type="submit">login</button>
</form>
);
}
}
},
render(){
return (
<div className="loginBox">
{loginForm()}
</div>
)
}
});
それは、サンプルコードです。まず、デフォルトフォームの状態を初期化する必要があります。次に、フォームの送信時に、ビューをフォームを変更するために状態を変更します。
私はあなたがそれを理解するのに役立つことを願っています。
ステートはこのユースケースのために設計されているので、条件付きレンダリングを使用すると問題はありません。 –
これは、条件付きレンダリングでうまく動作します。ありがとう –