为了账号安全,请及时绑定邮箱和手机立即绑定

使用 React-Icon 库将鼠标悬停在图标上时显示文本

使用 React-Icon 库将鼠标悬停在图标上时显示文本

慕姐4208626 2023-07-14 09:37:28
所以我试图在您将鼠标悬停在鼠标上时显示文本。我正在使用 React-Icons 库并使用 Styled-Components 进行样式设置我的导航栏上有 4 个图标 - 主页 - 关于 - 技能 - 工作每个按钮都是其自己的组件,以便悬停正常工作,因此当我将鼠标悬停在 1 个图标上时,它不会显示所有图标的文本import React, { useState } from 'react';import { SkillsButton } from './SkillsBtnElements'const SkillsBtn = () => {  const [hover, setHover] = useState(false);  const onHover = () => {    setHover(!hover)  }  return (    <div onMouseEnter={onHover} onMouseLeave={onHover} role="button" tabIndex='-3' >      { hover ? "SKILLS" : <SkillsButton /> }    </div>  )}export default SkillsBtn;对于造型我有import styled from 'styled-components';import { GiGearHammer } from 'react-icons/gi';export const SkillsButton = styled(GiGearHammer)`  font-size: 1.75rem;  color: white;  flex-grow: 1;  cursor: pointer;  @media screen and (max-width: 960px) {    transition: all 0.2s ease-in-out;    font-size: 1rem;    color: white;  }  &:hover {    transition: all 0.2s ease-in-out;  }`;我确实实现了悬停效果,但是当我不断悬停图标时,逻辑似乎变得混乱,然后它只显示文本,当我将鼠标悬停在文本上时,图标出现......这不是所需的效果示例: https: //gph.is/g/4ARQoRV
查看完整描述

2 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

效果异常是由于关闭陈旧问题造成的。{hover ? "SKILLS" : <SkillsButton />}正在使用陈旧的悬停值进行渲染。如果您希望仅当鼠标位于 div 上时才显示文本,请尝试为 onMouseEnter 和 onMouseLeave 事件创建两个单独的函数。像这样:


import React, { useState } from "react";

import { SkillsButton } from './SkillsBtnElements'


const SkillsBtn = () => {

  const [hover, setHover] = useState(false);

  const onHover = () => {

    setHover(true);

  };


  const onLeave = () => {

    setHover(false);

  };

  return (

    <div

      onMouseEnter={onHover}

      onMouseLeave={onLeave}

      role="button"

      tabIndex="-3"

    >

      {hover ? "SKILLS" : <SkillsButton />}

    </div>

  );

};


export default SkillsBtn;


查看完整回答
反对 回复 2023-07-14
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

一个更简单的选项,使用MUI 工具提示组件

<Tooltip title="Delete">

  <IconButton>

    <DeleteIcon />

  </IconButton>

</Tooltip>

//img1.sycdn.imooc.com/64b0a7060001f2cb02490213.jpg

查看完整回答
反对 回复 2023-07-14
  • 2 回答
  • 0 关注
  • 231 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信