React Native Mantine › Overlays
Drawer
Side panel with slide animation
Import: import { Drawer } from 'react-native-mantine';
Usage
import { useState } from 'react';
import { Drawer, Button, Text } from 'react-native-mantine';
const MyComponent = () => {
const [opened, setOpened] = useState(false);
return (
<>
<Button onPress={() => setOpened(true)}>
Open Drawer
</Button>
<Drawer
opened={opened}
onClose={() => setOpened(false)}
position="left"
title="My Drawer"
>
<Text>Drawer content goes here</Text>
</Drawer>
</>
);
};
Props
| Prop | Type | Default | Description |
|---|---|---|---|
opened (required) | boolean | Drawer opened state | |
onClose (required) | () => void | Called when drawer is closed | |
title | React.ReactNode | Drawer title | |
children | React.ReactNode | Drawer content | |
size | MantineNumberSize | number | 'md' | Drawer size |
padding | SpacingValue | 'md' | Drawer padding |
position | 'left' | 'right' | 'top' | 'bottom' | 'left' | Drawer position |
closeOnClickOutside | boolean | true | If true, pressing the overlay closes the drawer |
withOverlay | boolean | true | If true, drawer will show overlay |
overlayOpacity | number | 0.6 | Overlay opacity |
overlayColor | string | '#000' | Overlay color |
withCloseButton | boolean | true | If true, close button will be shown |
style | any | Additional styles | |
transitionDuration | number | 250 | Animation duration in ms |
zIndex | number | 1000 | Z-index |
accessibilityLabel | string | Accessibility label for the drawer | |
testID | string | Test identifier used by testing frameworks |