Skip to content

RenderProductOptions

Defined in: @storesynk/react/dist/render.d.ts:47

  • BaseRenderOptions

optional customer?: RestoredCustomerSession | null

Defined in: @storesynk/react/dist/render.d.ts:53

Per-request restored customer session (from getRequestCustomer()) - fills the show-customer-* displayers and renders the customer-pricing widget’s MEMBER state server-side. Null passes through safely (anonymous render).


optional fresh?: boolean

Defined in: @storesynk/react/dist/runtime.d.ts:27

Bypass the module cache and fetch live (per-request SSR freshness).

BaseRenderOptions.fresh


handle: string

Defined in: @storesynk/react/dist/render.d.ts:48


optional locale?: I18nState | null

Defined in: @storesynk/react/dist/render.d.ts:17

Per-request buyer market (from getRequestLocale()); null-safe.

RenderListOptions.locale


optional request?: string | Request | URL | null

Defined in: @storesynk/react/dist/render.d.ts:27

The incoming request (or its URL) - pass it and each helper derives its per-request inputs itself: locale from the buyer’s locale cookie (Request source only), renderCollection’s state and renderProduct’s selectedOptions from the URL’s search params, renderProductJsonLd’s canonical url from origin + pathname. Explicit options always win. Frameworks pass what they have - the Request (Remix loader arg, TanStack getWebRequest()) or the page URL. Null-safe.

RenderListOptions.request


optional revalidate?: boolean

Defined in: @storesynk/react/dist/render.d.ts:72

Refetch in the background after adoption and repaint only if the live data differs from the payload - the freshness backstop for prerendered pages between rebuilds.


optional scope?: RequestScope

Defined in: @storesynk/react/dist/runtime.d.ts:30

With fresh: dedupe fetches within one request (see createRequestScope). Without it, every fresh call fetches.

BaseRenderOptions.scope


optional selectedOptions?: Record<string, string> | null

Defined in: @storesynk/react/dist/render.d.ts:64

Preferred initial selection, usually the route’s search params - keys matched case-insensitively against option names, non-option keys ignored, garbage falls back to the default variant. Stamps sync-url on the host so the client derives the SAME selection from the URL at adoption (and mirrors later option clicks back into it). Values must be strings - collapse string[] params before passing. Derived automatically from request when its URL carries search params (a bare URL renders the default variant, exactly as without request).


optional syncUrl?: boolean

Defined in: @storesynk/react/dist/render.d.ts:68

Stamp sync-url without server-side selection (implied by selectedOptions) - for prerendered pages that keep the default variant in the shell; the client corrects a shared variant link at adoption.