为了账号安全,请及时绑定邮箱和手机立即绑定

单击更新状态变量以显示不同的组件

单击更新状态变量以显示不同的组件

繁星coding 2022-05-26 14:20:39
我是 React 的新手,并尝试根据状态变量加载不同的组件。我希望我的处理程序动态地知道我正在更新哪个状态变量。到目前为止,我明确地将状态名称作为字符串传递。状态变量state = {        showLogin: false,        showHome: false    }处理方法handleShow = (element) => this.setState({ element: true });纽扣{  !this.props.isAuthenticated ? (    <Button      variant="outline-primary"      onClick={() => this.handleShow("showLogin")}    >      Login    </Button>  ) : (    <>      <Button        variant="outline-primary"        onClick={() => this.handleShow("showHome")}      >        Home      </Button>      <Button variant="outline-primary" onClick={this.authorizeUserMethod}>        LogOut      </Button>    </>  );}
查看完整描述

2 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

试试这个


handleShow = element => this.setState({

    ...this.state, 

    [element]: true

});


查看完整回答
反对 回复 2022-05-26
?
富国沪深

TA贡献1790条经验 获得超9个赞

在您的处理程序方法中,您必须使用扩展运算符,这允许您创建状态的克隆,从而连接一个新值。

处理方法

handleShow = (element) => this.setState({ ...this.state, [element]: true });


查看完整回答
反对 回复 2022-05-26
  • 2 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信