我有多个导航链接,所以我想做的是如果某个状态与它的名称匹配,我会将其设置为活动状态,但目前无法这样做。目前,我正在执行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"
,标记了名称
答案 0 :(得分:1)
在您的changeType中使用如下:
changeType = (e) =>{
const el = e.target;
console.log(el.getAttribute("name"));
}
简单的演示:HERE