Skip to content

Group

The Group component provides a way to group multiple components without affecting layout. It’s useful for applying modifiers to multiple views at once.

import { SwiftUI } from '@mgcrea/react-native-swiftui';
<SwiftUI.Group>
<SwiftUI.Text text="Item 1" />
<SwiftUI.Text text="Item 2" />
<SwiftUI.Text text="Item 3" />
</SwiftUI.Group>
PropTypeDefaultDescription
styleStyleProp<NativeViewStyle>-Style properties applied to all children
childrenReactNode-Child components
<SwiftUI.Group style={{ color: '#007AFF' }}>
<SwiftUI.Text text="Blue text 1" />
<SwiftUI.Text text="Blue text 2" />
<SwiftUI.Text text="Blue text 3" />
</SwiftUI.Group>
<SwiftUI.Form>
<SwiftUI.Section header="Account">
<SwiftUI.TextField label="Email" text={email} onChange={setEmail} />
{isLoggedIn && (
<SwiftUI.Group>
<SwiftUI.Text text={`Welcome, ${user.name}`} />
<SwiftUI.Button title="Sign Out" onPress={handleSignOut} />
</SwiftUI.Group>
)}
</SwiftUI.Section>
</SwiftUI.Form>
<SwiftUI.VStack>
<SwiftUI.Group>
<SwiftUI.Text text="Header Section" style={{ font: 'headline' }} />
<SwiftUI.Text text="Subtitle" style={{ color: '#666' }} />
</SwiftUI.Group>
<SwiftUI.Group>
<SwiftUI.Button title="Action 1" onPress={action1} />
<SwiftUI.Button title="Action 2" onPress={action2} />
</SwiftUI.Group>
</SwiftUI.VStack>
<SwiftUI.Form>
<SwiftUI.Section header="Items">
{items.map(item => (
<SwiftUI.Group key={item.id}>
<SwiftUI.HStack>
<SwiftUI.Text text={item.name} />
<SwiftUI.Spacer />
<SwiftUI.Text text={item.value} />
</SwiftUI.HStack>
</SwiftUI.Group>
))}
</SwiftUI.Section>
</SwiftUI.Form>
<SwiftUI.Form>
<SwiftUI.Section header="Settings">
<SwiftUI.Toggle label="Basic Feature" isOn={basic} onChange={setBasic} />
{isPremiumUser && (
<SwiftUI.Group>
<SwiftUI.Toggle label="Premium Feature 1" isOn={prem1} onChange={setPrem1} />
<SwiftUI.Toggle label="Premium Feature 2" isOn={prem2} onChange={setPrem2} />
<SwiftUI.Toggle label="Premium Feature 3" isOn={prem3} onChange={setPrem3} />
</SwiftUI.Group>
)}
</SwiftUI.Section>
</SwiftUI.Form>
<SwiftUI.VStack spacing={16}>
<SwiftUI.Group style={{ padding: 12, backgroundColor: '#f0f0f0', borderRadius: 8 }}>
<SwiftUI.Text text="Card 1 Content" />
</SwiftUI.Group>
<SwiftUI.Group style={{ padding: 12, backgroundColor: '#f0f0f0', borderRadius: 8 }}>
<SwiftUI.Text text="Card 2 Content" />
</SwiftUI.Group>
</SwiftUI.VStack>