// excerpted component code
// autocomplete
// (debounces input value and fetches autocomplete options)
const [inputValue, setInputValue] = useState("");
const [value, setValue] = useState<(string | QueryOutputItem)[]>([]);
const [platform, setPlatform] = useState<QueryInputPlatform>("👀");
const utils = trpc.useUtils();
const debouncedInputValue = useDebounce(inputValue, 750);
const queryInput = {
platform,
query:
// intelligently determine whether to use cached or debounced input value
inputValue &&
(utils.autocomplete.getData({ platform, query: inputValue })
? inputValue
: debouncedInputValue)
};
const autocompleteQuery = trpc.autocomplete.useQuery(queryInput, {
enabled: !!queryInput.query
});
// excerpted component code
// autocomplete
// (debounces input value and fetches autocomplete options)
const [inputValue, setInputValue] = useState("");
const [value, setValue] = useState<(string | QueryOutputItem)[]>([]);
const [platform, setPlatform] = useState<QueryInputPlatform>("👀");
const utils = trpc.useUtils();
const debouncedInputValue = useDebounce(inputValue, 750);
const queryInput = {
platform,
query:
// intelligently determine whether to use cached or debounced input value
inputValue &&
(utils.autocomplete.getData({ platform, query: inputValue })
? inputValue
: debouncedInputValue)
};
const autocompleteQuery = trpc.autocomplete.useQuery(queryInput, {
enabled: !!queryInput.query
});