渲染组件

时间:2020-02-01 06:10:38

标签: reactjs react-router

我要验证用户身份。最初,当我从服务器收到用户输入“错误密码”的响应时,我正在尝试设置authPassword的状态。在render()中,我正在检查authPassword的状态,并尝试显示“无效消息”。但是我无法重新渲染它以显示消息。

if(res === "wrongPassword")
{
     console.log(res);
     this.authPassword="password invalid";
     this.setState({authPassword});
}

render(){

        return <div className="base" >
                <div className="header">Login In</div>
                <div className="content">
                    <br/><br/>
                    <form className="form" method = 'post'>
                        <div className="form-group">
                            <input type="text" 
                                name="email"   
                                placeholder="email" 
                                className="form_field"
                                value={this.state.email}
                                onChange={this.handleChange}
                            >
                            </input>
                            {this.state.emailError? (
                            <div>
                            {this.state.emailError}
                            </div>
                            ):null

                            }
                        </div><br/>

                        <div className="form-group">
                            <input type="text" 
                                name="password" 
                                placeholder="Password" 
                                className="form_field"
                                value={this.state.password}
                                onChange={this.handleChange}
                                >
                            </input>
                            {this.state.passwordError? (
                            <div>
                            {this.state.passwordError}
                            </div>
                            ):null

                            }

                            {this.state.authPassword? (
                            <div>
                            {this.state.authPassword}
                            </div>
                            ):null

                            }         
                        </div><br/>
    {errors.form && <div className="alert alert-danger">{errors.form}</div>
                        }
                        <div className="form-group">
                            <div className = "btn">
                                <button type="button" 
                                    name="logbtn"
                                    disabled={isLoading}
                                    onClick = {this.handleSubmit}>
                                    Login
                                </button>
                            </div>
                        </div>
                    </form>   
                </div>
            </div>
        </div>
    }
}


1 个答案:

答案 0 :(得分:1)

这应该可以解决问题。

if(res === "wrongPassword")
    {
         console.log(res);
         const password="password invalid";
         this.setState({authPassword: password});
    }
相关问题