首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户在typeahead输入框中输入一个很长的数字非常慢,onSearch无法使用react-bootstrap-typeahead版本5.2.1获取完整的数字

用户在typeahead输入框中输入一个很长的数字非常慢,onSearch无法使用react-bootstrap-typeahead版本5.2.1获取完整的数字
EN

Stack Overflow用户
提问于 2021-11-02 22:48:35
回答 1查看 39关注 0票数 1

我正在使用带有onSearch方法的react-bootstrap-typeahead版本5.2.1来处理异步typeahead搜索。问题是,当用户输入一个很长的数字(例如: 99999180)非常慢,或者在999999之后停止输入,然后继续输入180时(您可以从网络上看到序列),我们无法获得返回的结果,因为查询参数仅显示9999918。但是,数据库中确实存在999999180。相同的代码在基于旧的react-bootstrap-typeahead版本3.4.7的相同场景下工作得很好。不确定这是5.2.1版的一个缺陷吗?提前谢谢。

代码语言:javascript
复制
  const onSearch = async (query) => {
    setIsLoading(true);
    try {
      const data = await typeaheadSearch(query);
      ......
    } finally {
      setIsLoading(false);
      ......
    }
  };
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-03 22:27:38

https://github.com/ericgio/react-bootstrap-typeahead/blob/master/docs/Upgrading.md#v50-breaking-changes发行说明中获得答案

用钩子重写的AsyncTypeahead

这通常应该是一个透明的变化。但是,至少有一个实例可能会破坏现有代码:如果在每次呈现时重新实例化onSearch处理程序,这将取消去抖动的函数,并可能阻止调用onSearch。要避免这种情况,请在构造函数中绑定处理程序,或者使用类属性(如果使用类组件),或者将useCallback与依赖项数组一起使用(如果使用功能组件):

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

https://stackoverflow.com/questions/69817784

复制
相关文章

相似问题

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