首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按住按键(React)取消反弹

按住按键(React)取消反弹
EN

Stack Overflow用户
提问于 2021-11-10 11:03:04
回答 1查看 35关注 0票数 1

有没有一种方法可以按住一个键去反跳(在React中,如果它改变了什么,我知道我需要在useCallback中包装去反跳)?

我有几个选择,每个都发送请求。默认情况下,可以按住Tab键进行选择,因此发送的请求太多。

我可以在按住Tab键的时候设置去抖动吗?另外,我更喜欢不影响a11y的解决方案。

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2021-11-10 13:38:01

通过等待一段时间,然后检查我的select是否为当前文档select,然后触发fetch,我成功地保持了fetch

代码语言:javascript
复制
const sleep = (milliseconds = 500) => new Promise(resolve => setTimeout(resolve, milliseconds));

const handleFocus = async () => {
  await sleep();
  if (selectRef.current === document.activeElement) {
    if (!listShowed) {
      showList(true);
      document.addEventListener('click', hideList);
    }
    fetch();
  }
};

但需要添加ref。不确定这是否是最优的解决方案,但它是有效的。如果我快速更改选定的项,那么在selectRef.current ()之后,=== document.activeElement将不会被触发

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69912126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档