【发布时间】:2021-07-28 18:04:03
【问题描述】:
我正在开发一个带有两个按钮的标题组件的 React 应用程序:
import React, { useRef } from 'react';
import { Link } from 'react-router-dom';
const Header = () => {
return (
<header className='header'>
<h2 className='resume-title'>
Muhammad <br />
Sohaib Furqan
</h2>
<button className='btn'>
<Link to='/'>Home</Link>
</button>
<button className='btn'>
<Link to='/projects'>Projects</Link>
</button>
</header>
);
};
我想让被点击的按钮获得“活动”类,而其他按钮被删除“活动”类。在 vanillaJS 中,我会使用“querySelectorAll”来获取所有按钮,然后通过 nodeList 进行映射,并根据需要进行切换。但不确定我将如何在 React 中做到这一点。我倾向于 useRef 但如何将 ref 设置为指向被点击的按钮?
希望我已经设法让自己说清楚了。
TIA, 苏海布
【问题讨论】:
-
删除按钮并将 btn 类添加到链接。然后处理 activeClassName。
-
您可以只使用来自
react-router-dom的NavLink组件。当路径匹配时,它会得到一个类.active
标签: javascript reactjs react-hooks