Transition.View
A basic animated view that integrates with the screen transition system.| Prop | Type | Description |
|---|---|---|
styleId | string | Target this element in interpolators |
sharedBoundTag | string | Mark as bounds animation target |
style | ViewStyle | Standard React Native styles |
children | ReactNode | Child elements |
styleId prop lets you target this view in screen interpolators:
Transition.Pressable
A pressable view that measures bounds for shared element animations.| Prop | Type | Description |
|---|---|---|
sharedBoundTag | string | Unique ID for bounds measurements |
onPress | function | Callback when pressed |
style | ViewStyle | Standard styles |
children | ReactNode | Child elements |
Transition.View on the destination.
Transition.ScrollView
A scroll view that coordinates gestures with the screen transition system.| Prop | Type | Description |
|---|---|---|
style | ViewStyle | Container style |
bounces | boolean | iOS bounce effect |
scrollEventThrottle | number | Throttle scroll events |
onScroll | function | Scroll listener |
children | ReactNode | Scrollable content |
- vertical — Gesture activates when scroll is at top
- vertical-inverted — Gesture activates when scroll is at bottom
- horizontal — Gesture activates at left/right edges
Transition.FlatList
A FlatList that coordinates gestures like ScrollView.| Prop | Type | Description |
|---|---|---|
data | array | Items to render |
renderItem | function | Item renderer |
keyExtractor | function | Key for each item |
bounces | boolean | Bounce effect |
scrollEventThrottle | number | Scroll throttle |
children | ReactNode | Optional header/footer |
Transition.ScrollView. Best for lists in bottom sheets.
Transition.MaskedView
A view that applies a mask for reveal animations. Required for masked element presets.| Prop | Type | Description |
|---|---|---|
maskElement | ReactNode | The mask shape (non-transparent areas are visible) |
children | ReactNode | Content to reveal through mask |
style | ViewStyle | Container style |
@react-native-masked-view/masked-view module. See Masked View Setup.
The maskElement should be a view with opaque shapes — those areas will be visible on the children.
createTransitionAwareComponent
Wrap any React Native component to make it transition-aware:| Option | Type | Description |
|---|---|---|
isScrollable | boolean | Component has scrolling behavior |
alreadyAnimated | boolean | Component uses Reanimated internally |
- Custom scroll containers
- Third-party animated components
- Complex component hierarchies
Component Reference Table
| Component | Use Case | Gesture Support | Bounds Support |
|---|---|---|---|
Transition.View | Generic animated view | No | Via sharedBoundTag |
Transition.Pressable | Interactive source | No | Yes (measures bounds) |
Transition.ScrollView | Scrollable content | Yes | No |
Transition.FlatList | Scrollable lists | Yes | No |
Transition.MaskedView | Masked reveals | No | No |
Usage Patterns
Pattern 1: Animated Modal
Pattern 2: Shared Element
Pattern 3: Multi-Element Animation
Next Steps
- Use Stack Types to choose a navigator
- See ScrollViews for gesture coordination details
- Check Masked View Setup for MaskedView configuration
