重复问题
- 我搜索了现有的问题
最新版本
- 我测试了最新版本
重现步骤 🕹
链接到实时示例:
步骤:
- 我创建了一个抽屉组件
- 我为onMouseEnter和onMouseLeave添加了事件处理程序,以便我可以更改抽屉的变体
- 当用户将指针移动到抽屉上时,我希望将变体设置为临时的,当他离开组件时,我希望抽屉变为永久性的
- 使用useState钩子在全局状态中设置variant变量
当前行为 😯
onMouseEnter处理函数被调用了两次
预期行为 🤔
这个处理函数不应该被调用两次
上下文 🔦
我想根据这两个动作设置变体和抽屉宽度
你的环境 🌎
浏览器:Chrome和Firefox
React 18
3条答案
按热度按时间xxe27gdn1#
看起来这个bug报告没有足够的信息让我们中的一个人复现它。
请提供一个CodeSandbox(https://material-ui.com/r/issue-template-latest),一个指向GitHub仓库的链接,或者提供一个最小的代码示例来重现问题。
以下是提供最小示例的一些提示:https://stackoverflow.com/help/mcve
dzhpxtsq2#
你好。感谢你的回答。我成功地在沙箱中进行了简要的实现。
https://codesandbox.io/s/drawer-onmouseenter-gmxzht?file=/index.tsx
正如你在我的例子中所看到的,当用户将鼠标悬停在抽屉上时,会记录消息。
这个问题出现在我们将应用程序迁移到React 18之后
解释的功能:要求是在鼠标悬停在抽屉上时,将变体从永久更改为临时。
kx1ctssn3#
我不明白这个用例,尤其是因为你一直将open属性设置为true。你能分享一下预期的行为的gif吗?或者一个清晰的对比,说明它之前是如何工作的,或者你认为它应该如何工作。顺便问一下,为什么当用户鼠标悬停在抽屉上时,你会从永久变为临时?你是想在第一次交互完成后关闭它吗?