gpt4 book ai didi

reactjs - 如何为 Algolia React 即时搜索键入自定义小部件?

转载 作者:行者123 更新时间:2023-12-02 16:24:14 30 4
gpt4 key购买 nike

我正在尝试从 algolia 即时搜索中正确输入我的连接匹配列表。

我的自定义 Hits 组件:

type Props = { hits: User[]; onSelectUser: (user: User) => void };

const SearchResults: React.FC<Props> = ({ hits, onSelectUser }) => {
return hits.map((hit: User) => (
<UserCard user={hit} onSelectUser={onSelectUser} />
));
};

export default connectHits<Props>(SearchResults);

当我尝试使用该组件时:

<Hits hitComponent={() => (<SearchResults onSelectUser={setSelectedUser} />)}/>

我收到一个 TS 错误,指出该组件上不存在 onSelectUser...当我忽略此 TS 错误时,我看到 Prop 在 SearchResults 组件中可用。

我应该如何正确输入我的组件以确保输入仍然正常工作?

最佳答案

您可以扩展 react-instantsearch-core 公开的 HitsProvided 接口(interface)。

import { HitsProvided } from "react-instantsearch-core";

// ...

type Props = HitsProvided<UserRecord> & {
onSelectUser: (user: User) => void;
};

const SearchResults: React.FC<Props> = ({ hits, onSelectUser }) => {
return hits.map((hit: User) => (
<UserCard user={hit} onSelectUser={onSelectUser} />
));
};

export default connectHits<Props, UserRecord>(SearchResults);

UserRecord 将描述您的记录的形状(不是 API 返回的命中的形状,只有属性)。

关于reactjs - 如何为 Algolia React 即时搜索键入自定义小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64859245/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com