我有这个代码:
class Login extends Component {
constructor(props) {
super(props);
this.state = {
resetPass:true
};
}
resetPassword(resetPass) {
if(resetPass) {
this.setState ({
})
}
}
<div style={{display:`${this.state.resetPass === true ? "none":"block"}`}}>
test 1
</div>
<div style={{display:`${this.state.resetPass === true ? "block" : "none" }`}}>
test2
</div>
所以我创建了一个像这样的按钮
<button onClick = {this.resetPassword(resetPass)} >testing</button>
我想编写一个函数来显示隐藏的div并在react中隐藏当前的div?任何想法如何工作? 预先感谢
答案 0 :(得分:1)
constructor(){
super();
this.state = {
resetPass: true
}
}
resetPassword = () => {
this.setState(prevState => ({ resetPass: !prevState.resetPass }));
}
<button onClick = {this.resetPassword} >testing</button>
答案 1 :(得分:0)
resetPassword() {
this.setState ({resetPass:this.state.resetPass?false:true})
}
{this.state.resetPass?<div>test1</div>:<div>test2</div>}
<button onClick = {this.resetPassword} > testing</button>
这将为您服务。
答案 2 :(得分:0)
resetPassword=()=>{
if(this.state.resetPass) {
this.setState ({
})
}
}
<button onClick = {this.resetPassword} > testing</button>
答案 3 :(得分:-1)
resetPassword函数不返回任何内容,因此this.resetPassword(resetPass)
等于未定义,因此onClick = {this.resetPassword(resetPass)}
等于onClick = {undefined}。绑定功能使您无需调用函数就可以传递参数,它会返回一个新函数。
onClick = {this.resetPassword.bind(this, resetPass)}
每次调用此函数都会返回一个新函数,因此可能会导致一些性能问题。
您也可以使用“绑定”。
onClick = {() => {this.resetPassword(this, resetPass);}}