Interface: UseProduct
react-autonomyreact-autonomy.UseProduct
UseProduct contains the data and methods returned by the useProductuseProduct hook.
Properties
createStockRequest
• createStockRequest: (options: CreateStockRequestCreateStockRequest) => Promise<void>
Type declaration
▸ (options): Promise<void>
The createStockRequest adds the customer to a product variant wait list in the OMS. When the variant is marked back in stock, customers on the wait list will automatically receive an email notification.
import { useProduct } from '@chordcommerce/react-autonomy'
const NotifyWhenBackInStockButton = ({ email, product }) => {
const { createStockRequest } = useProduct()
const onClick = () => createStockRequest({ email, product })
return <button onClick={onClick}>Notify</button>
}Parameters
Name | Type |
|---|---|
options | CreateStockRequestCreateStockRequest |
Returns
Promise<void>
A Promise that resolves when the stock request has been created.
Defined in
getPrice
• getPrice: (input: VariantPriceInputVariantPriceInput) => Promise<VariantPriceVariantPrice>
Type declaration
▸ (input): Promise<VariantPriceVariantPrice>
The getPrice method returns the price (including discount if applicable) for a produuct's variant by providing a SKU.
import { useProduct, useCart } from '@chordcommerce/react-autonomy'
import { useState, useEffect } from 'react'
const BuyNowButton = ({ sku }) => {
const { getPrice } = useProduct()
const { addToCart } = useCart()
const [price, setPrice] = useState()
useEffect(() => {
getPrice({ sku }).then(data => {
setPrice(data)
})
}, [getPrice, sku])
return (
<>
<div><>{price.price}</div>
<div><>{price.discountPrice}</div>
</>
)
}Parameters
Name | Type |
|---|---|
input | VariantPriceInputVariantPriceInput |
Returns
Promise<VariantPriceVariantPrice>
A Promise that resolves with the price of the SKU.
Defined in
getStockAvailability
• getStockAvailability: (input: VariantStockAvailabilityInputVariantStockAvailabilityInput) => Promise<VariantStockAvailabilityVariantStockAvailability>
Type declaration
▸ (input): Promise<VariantStockAvailabilityVariantStockAvailability>
The getStockAvailability method returns the stock availability for a produuct's variant by providing a SKU.
import { useProduct, useCart } from '@chordcommerce/react-autonomy'
import { useState, useEffect } from 'react'
const BuyNowButton = ({ sku }) => {
const { getStockAvailability } = useProduct()
const { addToCart } = useCart()
const [inStock, setInStock] = useState(false)
useEffect(() => {
getStockAvailability({ sku }).then(availability => {
setInStock(availability.inStock)
})
}, [getStockAvailability, sku])
return (
<button
onClick={() => addToCart({ sku, quantity: 1 })}
disabled={!inStock}
>
Buy Now!
</button>
)
}Parameters
Name | Type |
|---|---|
input | VariantStockAvailabilityInputVariantStockAvailabilityInput |
Returns
Promise<VariantStockAvailabilityVariantStockAvailability>
A Promise that resolves with the stock availability of the SKU.