inProgress为false,因此display等于else语句中的值。状态更改后,我在控制台日志中看到if语句(" DISPLAY = CONFIRM")所以display =但是视图没有改变。有什么问题?
class Registration extends Component {
render(){
let display;
if(this.props.inProgress){
console.log("DISPLAY = CONFIRM");
display = <RegistrationConfirmFormContainer />;
}else {
console.log("DISPLAY = REGISTER FORM");
display = <RegistrationFormContainer />;
}
return(
<div>
{display}
</div>
)
}
}
function mapStateToProps(state){
return{
inProgress: state.ReducerRegistrationPanel.inProgress
}
}
export default connect(mapStateToProps)(Registration)
答案 0 :(得分:0)
我会尝试用三句话来做到这一点:
render(){
return this.props.inProgress ? <RegistrationConfirmFormContainer /> : <RegistrationFormContainer />
}
这样你就不需要用div包装它,而且它看起来更好。