如何解决onMouseOver 函数在 mouseOver 之前触发
我试图让一个 div 在它悬停时改变 BarText
的值。
在我的 app.js 中,我设置了这样的值。
const [BarText,setBar] = useState("test")
<NavLink
to="/sol"
className="systemButton"
onClick={() => {
setIn(true);}}
onMouSEOver={props.setBar('stuff')}
>
目前,该功能正在运行,因为它确实将 BarText
的值从“test”更改为“stuff”,但是它不会在悬停时执行此操作,它似乎在渲染时执行此操作。当我刷新页面时,BarText 已读取为“Stuff”,表明该函数已被触发。当我将多个 onMouSEOver
事件应用于不同的 div 时,BarText 将更改为组件中的最后一个。
看来我没有正确使用 onMouSEOver
,如果有人认为是我的错误或知道替代方法,我将不胜感激。提前致谢。
解决方法
改变
onMouseOver={props.setBar('stuff')}
到
onMouseOver={() => props.setBar('stuff')}
否则您每次渲染时都会调用该函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。