Provider

Purpose

The Provider component exposes a React Context with the data and state information used by the Reactify Search components and hooks.

Usage

The Provider component must wrap all Reactify Search components and hooks.

A separate Provider component should be used for each search area, most implementations will use three, one for the search page, a second for collection pages and a third for the instant search form. This prevents search content between shared between the three areas.

Props

type ProviderProps = {
  /** Reactify search index name in settings */
  index: string;
  /** Shopify store domain used to resolve the site configuration */
  shopifyPermanentDomain: string;
  /** Set when in instant search mode, applies different sensors */
  instantSearch?: boolean;
  /** Callback function for redirects, suitable for headless sites to avoid full page refresh */
  onRedirect?: (type: "redirect" | "search", url: string) => void;
  /** Render method to display a component when the config is loading */
  renderBooting?: () => JSX.Element | null;
  /** Advanced usage: Override the default Filters selection logic */
  filterStackHandle?: string;
  /** Advanced usage: Allows you to wrap the ReactifySearchProvider in your own ReactiveBase component */
  noReactiveBase?: boolean;
  /** Advanced usage: Array of additional component IDs managed outside of Reactify Search */
  additionalComponentIds?: string[];
  /** Advanced usage: Override the default Reactify Search config (for multi-instance stores) */
  configId?: string;
  /** Advanced usage: Override the default Elasticsearch credentials */
  credentials?: {
    username: string;
    password: string;
    endpoint: string;
  };
  /** Advanced usage: Override the default ReactiveBase theme */
  theme?: Record<string, unknown>;
}

Last updated