Denis V.
04/04/2022, 11:30 AMtype Word = {
w: string;
lang: string;
};
import React, { useState } from "react";
import { SearchInput } from "../../components";
import TypesenseInstantsearchAdapter from "typesense-instantsearch-adapter";
import { InstantSearch } from "react-instantsearch-dom";
const Page = () => {
const typesenseInstantSearchAdapter = new TypesenseInstantsearchAdapter({
server: {
apiKey: `${process.env.API_KEY}`,
nodes: [
{
host: `${process.env.HOST}`,
port: `${process.env.PORT}`,
protocol: `https`,
},
],
},
additionalSearchParameters: {
queryBy: "word",
perPage: 8, // we've tried perPage: search.length < 3 ? 0 : 8, but that causes re-renders and doesn't solve the problem since it still fetches.
},
});
const [search, setSearch] = useState("");
return (
<div className="flex justify-center">
<InstantSearch
indexName="words"
searchClient={typesenseInstantSearchAdapter.searchClient}
>
<SearchInput
setSearch={setSearch}
search={search}
button={true}
reload={false}
/>
</InstantSearch>
</div>
);
};
export default Page;
Thanks in advance for any tips!Jason Bosco
04/04/2022, 3:56 PMsearchClient
that comes with the Typesense adapterDenis V.
04/04/2022, 5:37 PMJason Bosco
04/04/2022, 6:07 PM