Skip to content
On this page

useSessionContext ​

Definition ​

Composable for session management. SessionContext contain all related data like user, currency, country, shippingMethod, paymentMethod etc.

Basic usage ​

ts
const { 
 sessionContext,
 selectedShippingMethod,
 selectedPaymentMethod,
 currency,
 activeShippingAddress,
 activeBillingAddress,
 taxState,
 countryId,
 salesChannelCountryId,
 languageId,
 languageIdChain,
 userFromContext,
 setLanguage,
 setCountry,
 refreshSessionContext,
 setShippingMethod,
 setPaymentMethod,
 setCurrency,
 setActiveShippingAddress,
 setActiveBillingAddress 
} = useSessionContext(newContext);

Signature ​

ts
export function useSessionContext(
  newContext?: Schemas["SalesChannelContext"],
): UseSessionContextReturn 

Parameters ​

NameTypeDescription
newContext

Return type ​

See UseSessionContextReturn
ts
export type UseSessionContextReturn = {
  /**
   * Patches the context in order to use new language
   */
  setLanguage(language: Partial<Schemas["Language"]>): Promise<void>;
  /**
   * Patches the context in order to use new countryId
   *
   * @param {string} countryId
   */
  setCountry(countryId: string): Promise<void>;
  /**
   * current context's language
   */
  sessionContext: ComputedRef<Schemas["SalesChannelContext"] | undefined>;
  /**
   * Fetches the session context and assigns the result to the `sessionContext` property
   */
  refreshSessionContext(): Promise<void>;
  /**
   * current context's language
   */
  selectedShippingMethod: ComputedRef<Schemas["ShippingMethod"] | null>;
  /**
   * Patches the context in order to use new shipping method
   */
  setShippingMethod(
    shippingMethod: Partial<Schemas["ShippingMethod"]>,
  ): Promise<void>;
  /**
   * current context's payment method
   */
  selectedPaymentMethod: ComputedRef<Schemas["PaymentMethod"] | null>;
  /**
   * Patches the context in order to use new payment method
   */
  setPaymentMethod(paymentMethod: { id: string }): Promise<void>;
  /**
   * current context's currency
   */
  currency: ComputedRef<Schemas["Currency"] | null>;
  /**
   * Patches the context in order to use new currency
   */
  setCurrency(currency: Partial<Schemas["Currency"]>): Promise<void>;
  /**
   * current context's shipping address
   */
  activeShippingAddress: ComputedRef<Schemas["CustomerAddress"] | null>;
  /**
   * Patches the context in order to use new shipping address
   */
  setActiveShippingAddress(
    address: Partial<Schemas["CustomerAddress"]>,
  ): Promise<void>;
  /**
   * current context's billing address
   */
  activeBillingAddress: ComputedRef<Schemas["CustomerAddress"] | null>;
  /**
   * current context's tax state
   */
  taxState: ComputedRef<string | undefined>;
  /**
   * Patches the context in order to use new billing address
   */
  setActiveBillingAddress(
    address: Partial<Schemas["CustomerAddress"]>,
  ): Promise<void>;
  /**
   * current context's country id
   */
  countryId: ComputedRef<string | undefined>;
  /**
   * current sales channel country id
   */
  salesChannelCountryId: ComputedRef<string | undefined>;
  /**
   * current language id
   */
  languageId: ComputedRef<string | undefined>;
  /**
   * current language id chain
   */
  languageIdChain: ComputedRef<string>;
  /**
   * current context's customer object
   */
  userFromContext: ComputedRef<Schemas["Customer"] | undefined>;
};

Properties ​

NameTypeDescription
sessionContext
ComputedRef< | undefined>
current context's language
selectedShippingMethod
ComputedRef< | null>
current context's language
selectedPaymentMethod
ComputedRef< | null>
current context's payment method
currency
ComputedRef< | null>
current context's currency
activeShippingAddress
ComputedRef< | null>
current context's shipping address
activeBillingAddress
ComputedRef< | null>
current context's billing address
taxState
ComputedRef<string | undefined>
current context's tax state
countryId
ComputedRef<string | undefined>
current context's country id
salesChannelCountryId
ComputedRef<string | undefined>
current sales channel country id
languageId
ComputedRef<string | undefined>
current language id
languageIdChain
ComputedRef<string>
current language id chain
userFromContext
ComputedRef< | undefined>
current context's customer object

Methods ​

NameTypeDescription
setLanguage
Promise<void>
Patches the context in order to use new language
setCountry
Promise<void>
Patches the context in order to use new countryId
refreshSessionContext
Promise<void>
Fetches the session context and assigns the result to the `sessionContext` property
setShippingMethod
Promise<void>
Patches the context in order to use new shipping method
setPaymentMethod
Promise<void>
Patches the context in order to use new payment method
setCurrency
Promise<void>
Patches the context in order to use new currency
setActiveShippingAddress
Promise<void>
Patches the context in order to use new shipping address
setActiveBillingAddress
Promise<void>
Patches the context in order to use new billing address
useSessionContext has loaded