The Product API provides an extension with data about the current Product. ### Supporting targets - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render)
The unique identifier for the product.
The Product API provides an extension with data about the current Product. ### Supporting targets - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render)
import React from 'react';
import {
Text,
Screen,
ScrollView,
Navigator,
reactExtension,
useApi,
} from '@shopify/ui-extensions-react/point-of-sale';
const Modal = () => {
const api = useApi<'pos.product-details.action.render'>();
return (
<Navigator>
<Screen name="ProductApi" title="Product Api">
<ScrollView>
<Text>{`Product ID: ${api.product.id}`}</Text>
</ScrollView>
</Screen>
</Navigator>
);
};
export default reactExtension('pos.product-details.action.render', () => (
<Modal />
));
import {
Navigator,
Screen,
ScrollView,
Text,
extension,
} from '@shopify/ui-extensions/point-of-sale';
export default extension('pos.product-details.action.render', (root, api) => {
const navigator = root.createComponent(Navigator);
const screen = root.createComponent(Screen, {
name: 'ProductApi',
title: 'Product Api',
});
const scrollView = root.createComponent(ScrollView);
const text = root.createComponent(Text);
text.append(`Product ID: ${api.product.id}`);
scrollView.append(text);
screen.append(scrollView);
navigator.append(screen);
root.append(navigator);
});
import React from 'react';
import {
Text,
Screen,
ScrollView,
Navigator,
reactExtension,
useApi,
} from '@shopify/ui-extensions-react/point-of-sale';
const Modal = () => {
const api = useApi<'pos.product-details.action.render'>();
return (
<Navigator>
<Screen name="ProductApi" title="Product Api">
<ScrollView>
<Text>{`Product ID: ${api.product.id}`}</Text>
</ScrollView>
</Screen>
</Navigator>
);
};
export default reactExtension('pos.product-details.action.render', () => (
<Modal />
));
import {
Navigator,
Screen,
ScrollView,
Text,
extension,
} from '@shopify/ui-extensions/point-of-sale';
export default extension('pos.product-details.action.render', (root, api) => {
const navigator = root.createComponent(Navigator);
const screen = root.createComponent(Screen, {
name: 'ProductApi',
title: 'Product Api',
});
const scrollView = root.createComponent(ScrollView);
const text = root.createComponent(Text);
text.append(`Product ID: ${api.product.id}`);
scrollView.append(text);
screen.append(scrollView);
navigator.append(screen);
root.append(navigator);
});