Search
Purpose
The Search component is a wrapper for the useSearch hook, it provides a simple way to access and update the search terms while also handling special logic such as redirects.
Usage
import React from "react";
import { Search } from "@usereactify/search";
import { ExampleSearch } from "./ExampleSearch";
export const Component: React.FC = () => {
  return (
    <Search
      render={ExampleSearch}
    />
  );
};import React from "react";
import { SearchProps } from "@usereactify/search";
export type ExampleSearchProps = React.ComponentProps<
  NonNullable<SearchProps["render"]>
>;
export const ExampleSearch: React.FC<ExampleSearchProps> = (props) => {
  const handleFormSubmit = React.useCallback(
    (event: React.FormEvent<HTMLFormElement>) => {
      event.preventDefault();
      props.submitSearchTerm();
    },
    [props.submitSearchTerm]
  );
  const handleInputChange = React.useCallback(
    (event: React.ChangeEvent<HTMLInputElement>) => {
      props.setSearchTerm(event.target.value);
    },
    [props.setSearchTerm]
  );
  return (
    <form onSubmit={handleFormSubmit}>
      <input
        type="search"
        placeholder="Search products..."
        value={props.searchTerm}
        onChange={handleInputChange}
      />
    </form>
  );
};Props
type SearchProps = {
  /** Render method */
  render?: React.FC<ReturnType<typeof useSearch>>;
};Last updated
Was this helpful?