# ScrollView The ScrollView component allows content that doesn’t fully fit on screen to scroll. Typically, the ScrollView component serves as the root component of a Screen. ### ScrollView ```tsx import React, {ReactNode} from 'react'; import { Text, Navigator, Screen, ScrollView, Stack, reactExtension, } from '@shopify/ui-extensions-react/point-of-sale'; const ModalComponent = () => { const textElement = ( count: number, ): ReactNode => { return ( <Stack direction="vertical" paddingHorizontal="Small" paddingVertical="Small" > <Text>{`Text element ${count}`}</Text> </Stack> ); }; return ( <Navigator> <Screen title="ScrollView" name="ScrollView" > <ScrollView> {Array.from(Array(25)).map((_, count) => textElement(count), )} </ScrollView> </Screen> </Navigator> ); }; export default reactExtension( 'pos.home.modal.render', () => { return <ModalComponent />; }, ); ``` ```ts import { extension, Screen, ScrollView, Stack, Navigator, Text, } from '@shopify/ui-extensions/point-of-sale'; export default extension( 'pos.home.modal.render', (root) => { const screen = root.createComponent(Screen, { name: 'ScrollView', title: 'ScrollView', }); const scrollView = root.createComponent(ScrollView); for (let i = 0; i < 25; i++) { const stack = root.createComponent(Stack, { paddingVertical: 'Small', direction: 'vertical', paddingHorizontal: 'Small', }); const textElement = root.createComponent(Text); textElement.append(`Text element ${i}`); stack.append(textElement); scrollView.append(stack); } screen.append(scrollView); const navigator = root.createComponent(Navigator); navigator.append(screen); root.append(navigator); }, ); ```