Algolia React 默认值及运行问题

Algolia React default value and operation problem

我在我的 React 应用程序中使用 Algolia 进行自动完成。但是我在开发过程中遇到了一些问题:

  1. 如果我不输入任何内容,自动完成功能已经有标准匹配,如何关闭它?
  2. 我怎样才能最小化操作,因为现在 1 个字符需要 1 个操作,可能还有类型延迟?

我正在使用 algoliasearch/litereact-instantsearch-dom 软件包。

  1. React InstantSearch 不提供开箱即用的选项。您必须实施您的 searchClient 版本才能在空状态下中止请求。您可以在 documentation.

  2. 中找到指南
  3. 您不能开箱即用。你可以自己实现它。这种模式称为去抖动。在 documentation.

  4. 中还有一个专门的部分。
  1. 根据 documentation 中的示例代码,您可以检查搜索框是否为空。然后仅当 currentRefinement 不为空时才渲染命中:
    

import { connectAutoComplete } from 'react-instantsearch-dom';

const Autocomplete = ({ hits, currentRefinement, refine }) => (
  <ul>
    <li>
      <input
        type="search"
        value={currentRefinement}
        onChange={event => refine(event.currentTarget.value)}
      />
    </li>

    //Render only if currentRefinement not empty
    {currentRefinement && (
        hits.map(hit => (
          <li key={hit.objectID}>{hit.name}</li>
        ))
    )}

  </ul>
);

const CustomAutocomplete = connectAutoComplete(Autocomplete);

  1. 可以通过使用 SearchBox 示例代码 documentation
  2. 来实现去抖动