this.component.name类型错误:无法读取未定义的属性“名称”

时间:2020-01-02 09:02:17

标签: reactjs

我有多个导航链接,所以我想做的是如果某个状态与它的名称匹配,我会将其设置为活动状态,但目前无法这样做。目前,我正在执行active={this.state.navState==='login'},依此类推。

<Nav variant="tabs">
  <Nav.Item>
    <Nav.Link
      active={this.state.navState === 'login'}
      name="login"
      onClick={this.changeType}>
      Login
    </Nav.Link>
  </Nav.Item>
  <Nav.Item>
    <Nav.Link
      active={this.state.navState === 'signin'}
      name="signin"
      onClick={this.changeType}>
      Signup
    </Nav.Link>
  </Nav.Item>
</Nav>

我也尝试过:

  • this.component.name
  • this.target.tagName
  • this.props.name

但是它给我一个错误,提示 TypeError:无法读取未定义的属性“名称”

我想阅读<Nav.Link active={this.state.navState==='signin'} **name**="signin",标记了名称

1 个答案:

答案 0 :(得分:1)

在您的changeType中使用如下:

changeType = (e) =>{    
    const el = e.target;
    console.log(el.getAttribute("name"));
  }

简单的演示:HERE