@nosto/preact

    Function useResponse

    • Preact hook that imports response data to the component.

      Returns { keywords: SearchKeywords; products: SearchProducts }

      import { useResponse } from '@nosto/preact'
      import { defaultConfig } from "../config"

      export default () => {
      const { products, keywords } = useResponse()
      return (
      <div>
      <div>
      {keywords.hits.length > 0 && (
      <div>
      <div>
      Keywords
      </div>
      <div>
      <Keywords
      hits={keywords.hits}
      keywordComponent={Keyword}
      elementComponent={Element}
      keywordInCategoryComponent={KeywordInCategory}
      />
      </div>
      {!products.hits.length && <SubmitButton />}
      </div>
      )}
      {products.hits.length > 0 && (
      <div>
      <div>
      Products
      </div>
      <div>
      {products.hits.map(hit => {
      return (
      <AutocompleteElement hit={hit}>
      <div
      data-url={hit.url}
      data-nosto-element="product"
      >
      <img
      src={hit.imageUrl ?? productImagePlaceholder}
      alt={hit.name}
      />
      <div>
      {hit.brand && (
      <div>{hit.brand}</div>
      )}
      <div>
      {hit.name}
      </div>
      <div>
      <span>{formatCurrency(hit.price)}</span>
      {hit.listPrice && hit.listPrice > hit.price && (
      <span>
      {formatCurrency(hit.listPrice)}
      </span>
      )}
      </div>
      </div>
      </div>
      </AutocompleteElement>
      )
      })}
      </div>
      <SubmitButton />
      </div>
      )}
      </div>
      </div>
      )
      }
    MMNEPVFCICPMFPCPTTAAATR