pos. product-details. action. renderTarget
Target
A full-screen extension target that renders when a pos.product-details.action.menu-item.render
target calls for it
Was this section helpful?
Action
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="ProductDetails" title="Product Details">
<ScrollView>
<Text>{`Product ID: ${api.product.id}`}</Text>
</ScrollView>
</Screen>
</Navigator>
);
};
export default reactExtension('pos.product-details.action.render', () => (
<Modal />
));
examples
Action
React
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="ProductDetails" title="Product Details"> <ScrollView> <Text>{`Product ID: ${api.product.id}`}</Text> </ScrollView> </Screen> </Navigator> ); }; export default reactExtension('pos.product-details.action.render', () => ( <Modal /> ));
TS
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: 'ProductDetails', title: 'Product Details', }); 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); });