javascript - 如何管理单个反应元素的状态以实现悬停效果?
问题描述
我正在尝试在 React 中为我的投资组合网站设置一个简单的“图标到文本”悬停效果。当我设置它时,它会更改悬停时的所有图标,我只想一次更改一个图标。
export default class Home extends Component {
constructor(props) {
super(props);
this.state = {
isHover: false
};
this.onMouseEnterHandler = this.onMouseEnterHandler.bind(this);
this.onMouseLeaveHandler = this.onMouseLeaveHandler.bind(this);
}
onMouseEnterHandler() {
this.setState({
isHover: true
});
}
onMouseLeaveHandler() {
this.setState({
isHover: false
});
}
render() {
return (
<div className="home">
<div className="hamburger-icon"></div>
<section className="info-section">
<div className="logo">M</div>
<div className="info-box-top">
<a onMouseEnter={this.onMouseEnterHandler} onMouseLeave={this.onMouseLeaveHandler} className="home active" id="one" href="/">
{ this.state.isHover
? <span>Home</span>
: <FontAwesomeIcon icon={faHome} />
}
</a>
<a id="two" href="/about"><FontAwesomeIcon icon={faUser} /></a>
<a id="three" href="/skills"><FontAwesomeIcon icon={faCog} /></a>
<a id="four" href="/gallery"><FontAwesomeIcon icon={faEye} /></a>
<a id="five" href="/contact"><FontAwesomeIcon icon={faEnvelope} /></a>
</div>
解决方案
您只能通过 css 管理它,但如果您希望它管理表单 javascript,则可以管理每个单独元素的状态。请检查我的代码和框链接以供参考。 https://codesandbox.io/s/react-example-1nyfs
推荐阅读
- python - 使用 Docker 部署 Python 应用程序和 Vue 网站的工作流程
- amazon-eks - 使用 Kasten 导出 Kubernetes 失败
- visual-studio-code - 调用 M365 API 获取 TodoTaskLists 时如何解决“错误:访问令牌已过期或尚未生效”?
- typescript - 从没有初始化的对象生成函数或从类型中获取键并通过键创建函数
- node.js - 将图像上传到 AWS S3 被拒绝访问
- python - 将日志从 python 推送到 Splunk
- php - SQL 选择 col1 等于逗号分隔字符串中的值之一的所有行
- html - 验证 Laravel 中的只读字段
- python - 您知道以这种方式在列表列表中转换列表的快速方法吗?
- next.js - 如何获取我的 Next.JS API 电子邮件路由以将主机 IP 地址发送到 SendGrid?