--- title: Screen description: >- The Screen component represents a screen in the navigation stack with full control over presentation, actions, and navigation lifecycle. Use it to create navigable screens with titles, loading states, and custom navigation behavior. The component manages full-screen presentations with proper navigation stack integration, allowing extensions to push and pop screens as part of the POS navigation flow. It handles transitions, back button behavior, and safe area padding automatically, ensuring extensions provide native-feeling navigation experiences on both iOS and Android devices. Screen components maintain scroll position across navigation operations where appropriate, allowing merchants to return to their previous location after viewing details or completing sub-tasks. api_version: 2024-04 api_name: pos-ui-extensions source_url: html: >- https://shopify.dev/docs/api/pos-ui-extensions/2024-04/ui-components/layout-and-structure/screen md: >- https://shopify.dev/docs/api/pos-ui-extensions/2024-04/ui-components/layout-and-structure/screen.md --- # Screen The Screen component represents a screen in the navigation stack with full control over presentation, actions, and navigation lifecycle. Use it to create navigable screens with titles, loading states, and custom navigation behavior. The component manages full-screen presentations with proper navigation stack integration, allowing extensions to push and pop screens as part of the POS navigation flow. It handles transitions, back button behavior, and safe area padding automatically, ensuring extensions provide native-feeling navigation experiences on both iOS and Android devices. Screen components maintain scroll position across navigation operations where appropriate, allowing merchants to return to their previous location after viewing details or completing sub-tasks. #### Use cases * **Multi-step workflows:** Create workflows with navigation between different screens. * **Configuration interfaces:** Build settings interfaces requiring separate screens for different categories. * **Modal presentations:** Implement modal-style presentations for focused tasks or data entry. * **Loading states:** Provide loading states during asynchronous operations. ## Examples ### Navigate to a different screen Implement navigation between screens using the Navigator component. This example shows how to set up basic screen navigation with a button that navigates to a details screen, enabling multi-screen workflows and user journeys within your extension. ## Navigate to a different screen ![](https://cdn.shopify.com/shopifycloud/shopify-dev/development/assets/assets/images/templated-apis-screenshots/pos-ui-extensions/2024-04/screen-default-DW6yfqMm.png) ### Pass data between screens during navigation Navigate to another screen while passing data through parameters. This example demonstrates how to pass information like IDs or values when navigating, allowing the destination screen to access and display context-specific data based on user selections. ### Present a screen as a modal sheet Navigate to a screen with a sheet presentation style for contextual overlays. This example shows how to use sheet presentation mode to display a screen as a modal overlay, useful for quick actions, forms, or secondary content that doesn't require full-screen navigation. ### Examples * #### Navigate to a different screen ##### Description Implement navigation between screens using the Navigator component. This example shows how to set up basic screen navigation with a button that navigates to a details screen, enabling multi-screen workflows and user journeys within your extension. ##### React ```tsx import React from 'react' import { Screen, Text, Navigator, reactExtension, Button, useApi } from '@shopify/ui-extensions-react/point-of-sale'; const Modal = () => { const api = useApi<'pos.home.modal.render'>(); return ( Home screen