在 React 中悬停时显示元素或文本
创始人
2025-05-31 16:40:13
0

在 React 中悬停时显示元素或文本:

  1. 在元素上设置 onMouseOveronMouseOut 属性。
  2. 跟踪用户是否将鼠标悬停在状态变量中的元素上。
  3. 根据状态变量有条件地渲染另一个元素。
import {useState} from 'react';const App = () => {const [isHovering, setIsHovering] = useState(false);const handleMouseOver = () => {setIsHovering(true);};const handleMouseOut = () => {setIsHovering(false);};return (
handleMouseOver}onMouseOut={handleMouseOut}>Hover over me
{isHovering && (

Only visible when hovering div

jiyik.com

)}
); };export default App;

React 中悬停时显示元素或文本

代码示例展示了如何在将鼠标悬停在另一个元素上时显示一个元素。

我们在 div 元素上设置了 onMouseOver 属性,因此每次用户将鼠标悬停在该元素上时,都会调用 handleMouseOver 函数。

handleMouseOver}onMouseOut={handleMouseOut}
>Hover over me

当用户将光标移动到元素或其子元素之一时,将触发 mouseover 事件。

在我们的 handleMouseOver 函数中,我们只需将 isHovering 状态变量设置为 true

const handleMouseOver = () => {setIsHovering(true);
};

相反,在我们的 handleMouseOut 函数中,我们将状态变量设置为 false

const handleMouseOut = () => {setIsHovering(false);
};

当用户的光标不再包含在元素或其子元素之一中时,将触发 mouseout 事件。

我们使用逻辑与 && 运算符有条件地呈现另一个 div 元素。

逻辑与 && 运算符如果为假,则返回左侧的值,否则返回右侧的值。

如果状态变量存储假值,逻辑与 && 运算符将返回假,并且不会呈现任何内容。

忽略布尔值、null 和 undefined。 他们根本不渲染。

当用户将鼠标悬停在 div 元素上时:

  1. handleMouseOver 函数被调用。
  2. isHovering 状态变量设置为 true。
  3. 另一个 div 元素被渲染。

相反,当用户将光标移出 div 元素时:

  1. handleMouseOut 函数被调用。
  2. isHovering 状态变量设置为 false。
  3. 另一个 div 元素不再显示。

在 React 中悬停时显示组件

将鼠标悬停在另一个元素上时,可以使用相同的方法来显示组件。

import {useState} from 'react';function Heading() {return (

jiyik.com

); }const App = () => {const [isHovering, setIsHovering] = useState(false);const handleMouseOver = () => {setIsHovering(true);};const handleMouseOut = () => {setIsHovering(false);};return (
handleMouseOver}onMouseOut={handleMouseOut}>Hover over me
{isHovering && }
); };export default App;

在 React 中悬停时显示组件

当我们将鼠标悬停在 div 元素上时,代码示例会显示一个组件。

我们将一个 div 和一个 h2 提取到 Heading 组件中。

每次用户将鼠标悬停在设置了 onMouseOveronMouseOut 属性的 div 上时,都会显示 Heading 组件。

当用户将鼠标移出 div 时,Heading 组件将卸载并且不再呈现。

相关内容

热门资讯

两位总裁?百济神州宣布全球研发... 百济神州高管迎来变动。12月18日晚间,百济神州有限公司(百济神州,ONC.US;6160.HK;6...
近3年七成主动权益基金正收益,... 文/每日财报 楚风临近年末,公募基金年度业绩排名即将出炉。今年来,A股市场走强,上证指数一度突破4...
锚定高质量发展 践行金融为民初... 12月18日,中银三星人寿凭借在业务发展、战略践行、社会责任等多维度的卓越表现,荣膺“2025金柿奖...
沐曦上市,葛卫东日赚近200亿... 据节点财经获悉,投资大佬葛卫东布局GPU企业沐曦股份,日赚近200亿元,而他投资的另一家企业五一视界...
中国这座城市楼市反攻!机构:明... 2025 年本港楼市成功 “反攻”,住宅物业交投节节上升,楼价亦企稳回升,四年来首见 “量额价” 齐...
渤海银行聘任首席信息官,由一副... 12月18日,渤海银行发布公告称,董事会已于2025年12月18日审议通过聘任谢凯担任该行首席信息官...
【独家】字节跳动正推进与多家厂... 界面新闻记者 | 李家琦界面新闻编辑 | 文姝琪12月19日,界面新闻独家获悉,字节跳动正推进与vi...
科技投资“双城记” 导语:一场横跨香江与A股的科技投资盛宴,正在上演。2025年的资本市场,科技成了绝对顶流。一边是港股...
大片魔法失效,《阿凡达》不再无... 定焦One(dingjiaoone)原创作者 | 陈丹编辑 | 魏佳冰火两重天。作为今年好莱坞最受关...
一份报告,勾勒AI迈向2049... 1765年,英国正值工业革命初期,位于革命中心的伯明翰,成立了一个名叫“月光社”的神秘组织。组织由1...