redux-状态更改但组件不显示重新渲染的视图

时间:2017-07-10 07:29:38

标签: javascript reactjs redux display

默认情况下,

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)

1 个答案:

答案 0 :(得分:0)

我会尝试用三句话来做到这一点:

render(){
    return this.props.inProgress ? <RegistrationConfirmFormContainer /> : <RegistrationFormContainer /> 
}

这样你就不需要用div包装它,而且它看起来更好。