View
This component is a generic container for other components.
Styles
Flexbox Styles
View Styles
Transform Styles
Props
Name
Type
Description
accessibilityLabel
string
Alternate text for screen readers
If not defined, title prop is used
accessibilityTraits
AccessibilityTrait | AccessibilityTrait[]
Traits used to hint screen readers, etc.
accessibilityLiveRegion
AccessibilityLiveRegion
Region for accessibility mechanisms
Android and web only
accessibilityId
string
It is hard or impossible to tell by a reference to an instance of a component from where this component has been instantiated
You can assign this property and check instance.props.accessibilityId
For example accessibilityId is used in View's FocusArbitrator callback
activeOpacity
number
Opacity value the button should animate to, on touch on views that have onPress handlers
iOS and Android only
animateChildEnter
boolean
Animation of children:
Every child must have a
key
String refs aren't supported on children, only callback refs are
animateChildLeave
boolean
Animation of children
Every child must have a
key
String refs aren't supported on children, only callback refs are
animateChildMove
boolean
Animation of children
Every child must have a
key
String refs aren't supported on children, only callback refs are
ariaLabelledBy?
string
Id of an element that describes the view for screen-reader
Web only
ariaRoleDescription?
string
A custom role description to be read by the screen-readers
Web only
blockPointerEvents
boolean
Block touches for this component and all of its children
disableTouchOpacityAnimation
boolean
Disable default opacity animation on touch on views that have onPress handlers
iOS and Android only
id
string
Specifies a unique id for an HTML element
NOTE: This property may be going away in future versions
Web only
ignorePointerEvents
boolean
Ignore clicks and other mouse events, allowing children or components behind to receive them
importantForAccessibility?
ImportantForAccessibility
Expose the element and/or its children as accessible to screen-readers
restrictFocusWithin
boolean
When the keyboard navigation is happening, restrict the focusable elements within this view
Useful for popups and modals, you might want to prevent the focus from going outside of the popup or modal
The views with restrictFocusWithin are stacked and the last mounted view is a winner
This means if you, for example, have restricted the focus within some modal, and you have a popup (which also desires for a restricted focus) inside this modal, the popup will get the restriction, but when dismissed, the restriction will be restored for the modal
See also the companion method setFocusRestricted() below
WARNING: For the sake of performance, this property is readonly and changing it during the View life cycle will produce an error
limitFocusWithin
LimitFocusType
When the keyboard navigation is happening, do not focus on this view and on all focusable elements inside this view
See also the companion method setFocusLimited() below
Useful for the list items, allows to skip the consecutive focusing on one list item (and item's internal focusable elements) after another using the Tab key and implement the switching between the items using the arrow keys (or using some other behaviour)
When limitFocusWithin=LimitFocusType.Limited, the View and the focusable components inside the View get both tabIndex=-1 and aria-hidden=true
When limitFocusWithin=LimitFocusType.Accessible, the View and the focusable components inside the View get only tabIndex=-1.
WARNING: For the sake of performance, this property is readonly and changing it during the View life cycle will produce an error
autoFocus
boolean
Should be focused when the component is mounted, see also arbitrateFocus property below
WARNING: autoFocus=true means that this View's requestFocus() method will be called, however calling requestFocus() might have no effect (for example on web View is focusable only when tabIndex is specified), the application has to handle this either while setting this property or in the View's FocusArbitrator callback
arbitrateFocus
FocusArbitrator
When multiple components with autoFocus=true inside this View are mounting at the same time, and/or multiple components inside this view have received focus() call during the same render cycle, this callback will be called so that it's possible for the application to decide which one should actually be focused
importantForLayout
boolean
Additional invisible DOM elements will be added inside the view to track the size changes that are performed behind our back by the browser's layout engine faster (ViewBase checks for the layout updates once a second and sometimes it's not fast enough)
Web only
onDragStart
(e: DragEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onDrag
(e: DragEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onDragEnd
(e: DragEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onDragEnter
(e: DragEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onDragOver
(e: DragEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onDragLeave
(e: DragEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onDrop
(e: DragEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onMouseEnter
(e: MouseEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onMouseLeave
(e: MouseEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onMouseMove
(e: MouseEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onMouseOver
(e: MouseEvent) => void
Mouse-specific Events
For drag specific events, if onDragStart is present, the view is draggable
onDragStart/onDrag/onDragEnd are source specific events
onDragEnter/onDragOver/onDragLeave/onDrop are destination specific events
onContextMenu
(e: React.SyntheticEvent) => void
Mouse & Touch Events
onPress
(e: SyntheticEvent) => void
Mouse & Touch Events
onFocus
(e: FocusEvent) => void
Focus Events
onBlur
(e: FocusEvent) => void
Focus Events
onKeyPress
(e: KeyboardEvent) => void
Keyboard Events
onTouchStartCapture
(e: React.SyntheticEvent) => void
Touch-specific Events
onTouchMoveCapture
(e: React.SyntheticEvent) => void
Touch-specific Events
onLongPress
(e: SyntheticEvent) => void
Touch-specific Events
onMoveShouldSetResponder
(e: React.SyntheticEvent) => boolean
Touch-specific Events
onMoveShouldSetResponderCapture
(e: React.SyntheticEvent) => boolean
Touch-specific Events
onResponderGrant
(e: React.SyntheticEvent) => void
Touch-specific Events
onResponderReject
(e: React.SyntheticEvent) => void
Touch-specific Events
onResponderRelease
(e: React.SyntheticEvent) => void
Touch-specific Events
onResponderStart
(e: React.TouchEvent) => void
Touch-specific Events
onResponderMove
(e: React.TouchEvent) => void
Touch-specific Events
onResponderEnd
(e: React.TouchEvent) => void
Touch-specific Events
onResponderTerminate
(e: React.SyntheticEvent) => void
Touch-specific Events
onResponderTerminationRequest
(e: React.SyntheticEvent) => boolean
Touch-specific Events
onStartShouldSetResponder
(e: React.SyntheticEvent) => boolean
Touch-specific Events
onStartShouldSetResponderCapture
(e: React.SyntheticEvent) => boolean
Touch-specific Events
onLayout
(e: ViewOnLayoutEvent) => void
Other Events
shouldRasterizeIOS
boolean
Rasterize contents using offscreen bitmap (perf optimization)
iOS only
tabIndex
number
Keyboard tab order
testId
string
ID that can be used to identify the instantiated element for testing purposes
title
string
Text for a tooltip
style
ViewStyleRuleSet | ViewStyleRuleSet[]
See below for supported styles
viewLayerTypeAndroid
'none' | 'software' | 'hardware'
Should use hardware or software rendering?
Android only property
underlayColor
string
Background color that will be visible on touch on views that have onPress handlers
iOS and Android only
useSafeInsets
boolean
When true:
Renders children within the safe area boundaries of a device, i.e. with padding with ensure the children don't cover navigation bars, toolbars etc.
Applies a style of { flex: 1, alignSelf: 'stretch' } to this view
Some ViewProps may be ignored. iOS only
Last updated