Javascript 检查页面是否有添加类的链接
函数用于检查当我单击导航栏上的按钮时,是否转到页面并在其上添加“活动”类Javascript 检查页面是否有添加类的链接,javascript,reactjs,Javascript,Reactjs,函数用于检查当我单击导航栏上的按钮时,是否转到页面并在其上添加“活动”类 checkToActive(to) { return (to === this.props.location.pathname) ? 'Active' : ''; } 我的纽扣 <Button state={this.checkToActive("/listening")} text="Listening" to="/listeni
checkToActive(to) {
return (to === this.props.location.pathname) ? 'Active' : '';
}
我的纽扣
<Button state={this.checkToActive("/listening")} text="Listening" to="/listening" />
所以。。当我点击并进入页面/收听时,按钮“激活”课堂,但当我进入/收听/子页面时,按钮没有。。我能做些什么来让它工作
谢谢。在
react router
v4中,如果要在路由匹配时执行条件样式设置或应用类,可以使用
这里已经给出了答案:如下更改代码:
checkToActive(to) {
return (this.props.location.pathname.contains(to)) ? 'Active' : '';
}
试试这个:
checkToActive(to) {
return this.props.location.pathname.includes(to) ? 'Active' : '';
}
使用而不是严格的比较,我如何用我的代码做到这一点@95FAF8E76605E973您可以使用React NavLink而不是导航栏中的按钮,文档:或查看我答案中的工作示例。我不想在按钮组件上使用NavLink。。我只想使该函数与子页面一起工作:/I不想使用它,我在我的按钮组件上使用:{html}。通过使用它,您不需要自定义函数每次验证url以应用类,这是内置功能。例如:Home您可以共享/listing/subPage按钮的代码吗?我建议您使用console.log您的this.props.location.pathname值。可能url与子页面中的“to”变量不匹配