RenderProductOptions
Defined in: @storesynk/react/dist/render.d.ts:47
Extends
Section titled “Extends”BaseRenderOptions
Properties
Section titled “Properties”customer?
Section titled “customer?”
optionalcustomer?: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).
fresh?
Section titled “fresh?”
optionalfresh?:boolean
Defined in: @storesynk/react/dist/runtime.d.ts:27
Bypass the module cache and fetch live (per-request SSR freshness).
Inherited from
Section titled “Inherited from”BaseRenderOptions.fresh
handle
Section titled “handle”handle:
string
Defined in: @storesynk/react/dist/render.d.ts:48
locale?
Section titled “locale?”
optionallocale?:I18nState|null
Defined in: @storesynk/react/dist/render.d.ts:17
Per-request buyer market (from getRequestLocale()); null-safe.
Inherited from
Section titled “Inherited from”request?
Section titled “request?”
optionalrequest?: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.
Inherited from
Section titled “Inherited from”revalidate?
Section titled “revalidate?”
optionalrevalidate?: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.
scope?
Section titled “scope?”
optionalscope?: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.
Inherited from
Section titled “Inherited from”BaseRenderOptions.scope
selectedOptions?
Section titled “selectedOptions?”
optionalselectedOptions?: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).
syncUrl?
Section titled “syncUrl?”
optionalsyncUrl?: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.