Skip to content

Introduction

React Native Jetpack Compose provides native Android UI components built directly on Jetpack Compose and Material 3. These components integrate seamlessly with React Native’s New Architecture (Fabric) for optimal performance.

  • Native Performance: Components render directly through Jetpack Compose, not via bridge calls
  • Material 3 Design: Full Material You theming with dynamic colors on Android 12+
  • New Architecture: Built for Fabric with codegen-generated type-safe bindings
  • TypeScript Support: Complete type definitions for all components and props
  • Controlled Components: Standard React patterns with value/onChange props
ComponentDescription
TextFieldMaterial 3 text input with labels, icons, and validation
PickerDropdown picker for option selection
SheetPickerSearchable picker with bottom sheet modal
DatePickerDate selection with calendar dialog
DateRangePickerDate range selection
TimePickerTime selection with dial or keyboard input
TimeRangePickerTime range selection
ModalBottomSheetDraggable bottom sheet container
  • React Native 0.76.0 or later (New Architecture required)
  • Android API level 24 (Android 7.0) or higher
  • Jetpack Compose BOM 2024.02.00 or later (included)
import { useState } from 'react';
import { View } from 'react-native';
import { TextField, DatePicker } from '@mgcrea/react-native-jetpack-compose';
export function MyForm() {
const [name, setName] = useState('');
const [birthDate, setBirthDate] = useState<Date | null>(null);
return (
<View>
<TextField
label="Full Name"
value={name}
onChange={setName}
placeholder="Enter your name"
/>
<DatePicker
label="Birth Date"
value={birthDate}
onConfirm={setBirthDate}
maxDate={new Date()}
/>
</View>
);
}