在react.js中显示hide div

时间:2018-07-23 05:56:52

标签: javascript reactjs

我有这个代码:

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?任何想法如何工作? 预先感谢

4 个答案:

答案 0 :(得分:1)

constructor(){
    super();
    this.state = {
        resetPass: true
    }
}

resetPassword = () => {
    this.setState(prevState => ({ resetPass: !prevState.resetPass }));
}

<button onClick = {this.resetPassword} >testing</button>

JSFiddle Link

答案 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);}}