Developer Portal

Facebook React Native Supported Components

As we develop You.i Engine React Native, support for Facebook React Native components will grow.

Note

Any Facebook React Native component included in this listing is supported, or is a component that You.i TV is working towards fully supporting. If you don't see a specific Facebook React Native component listed here, it means that You.i TV does not support it, or has not considered supporting it. Any unsupported prop, when used in You.i RN app, displays a warning in the log like this: "The prop named [propname] is unsupported". The warning is displayed both for the Debug and Release mode of an app.

Supported (not Roku): Props are supported on Android (mobile, tablet, and 10 ft), Samsung's Tizen, LG's webOS3 and webOS4, tvOS, iOS (mobile and tablet), macOS, Amazon (FireOS), Linux, PS4, XBox, and UWP, except when specified otherwise.

Supported on Roku: Props are supported on You.i TV's Cloud Solution. Static support is implicit.

Dynamic on Roku: Provides support for dynamic property updates on You.i TV's Cloud Solution. Properties listed as having dynamic support can be updated on the fly without requiring a full screen refresh.

For more information about dynamic support on Roku, see the Roku Fundamentals topic Dynamic Updates.

AccessibilityInfo

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Methods

addEventListener

Yes

No

No

iOS and tvOS only

announceForAccessibility

Yes

No

No

 

fetch

Yes

No

No

iOS and tvOS only

removeEventListener

Yes

No

No

iOS and tvOS only

setAccessibilityFocus

Yes

No

No

iOS and tvOS only

ActivityIndicator

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

animating

No

No

N/A

 

color

No

No

No

 

size

No

No

No

 

hidesWhenStopped

No

No

Not Possible

 

Alert

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Methods

alert

No

No

No

 

Animated

Note

  • The useNativeDriver=true configuration option is supported for the following methods: event, decay(), spring(), and timing().
  • The useNativeDriver=true configuration option is also supported on Roku. It is required for animation to work on Roku. By default, it's set to false.

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

Value

Yes

Yes

N/A

 

ValueXY

Yes

Yes

N/A

 

interpolate

Yes

Yes

N/A

 

Node

Yes

Yes

N/A

 

createAnimatedComponent

Yes

Yes

N/A

 

attachNativeEvent

Yes

Yes

N/A

 

Component Methods

decay

Yes

No

N/A

 

timing

Yes

Yes

N/A

 

spring

Yes

No

N/A

 

add

Yes

No

N/A

 

divide

Yes

No

N/A

 

multiply

Yes

No

N/A

 

modulo

Yes

No

N/A

 

diffClamp

Yes

Yes

N/A

 

delay

Yes

Yes

N/A

 

sequence

Yes

Yes

N/A

 

subtract

Yes

No

N/A

 

parallel

Yes

Yes

N/A

 

stagger

Yes

Yes

N/A

 

loop

Yes

Yes

N/A

 

event

Yes

Yes

N/A

 

forkEvent

Yes

Yes

N/A

 

unforkEvent

Yes

Yes

N/A

 

AppRegistry

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Methods

setWrapperComponentProvider

Yes

Yes

N/A

 

registerConfig

Yes

Yes

N/A

 

registerComponent

Yes

Yes

N/A

 

registerRunnable

Yes

Yes

N/A

 

registerSection

Yes

Yes

N/A

 

getAppKeys

Yes

Yes

N/A

 

getSectionKeys

Yes

Yes

N/A

 

getSections

Yes

Yes

N/A

 

getRunnable

Yes

Yes

N/A

 

getRegistry

Yes

Yes

N/A

 

setComponentProviderInstrumentationHook

Yes

Yes

N/A

 

runApplication

Yes

Yes

N/A

 

unmountApplicationComponentAtRootTag

Yes

Yes

N/A

 

registerHeadlessTask

Yes

Yes

N/A

 

startHeadlessTask

Yes

Yes

N/A

 

AppState

Note

  • AppState is only supported on iOS, tvOS, webOS, Tizen, UWP, Android, and PS4.
  • You.i Engine React Native only supports the following two app state values: active and background.

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Methods

addEventListener

Yes

N/A

N/A

 

removeEventListener

Yes

N/A

N/A

 

Component Properties

currentState

Yes

N/A

N/A

 

AsyncStorage

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Methods

getItem

Yes

Yes

N/A

 

setItem

Yes

Yes

N/A

 

removeItem

Yes

Yes

N/A

 

mergeItem

Yes

Yes

N/A

 

clear

Yes

Yes

N/A

 

getAllKeys

Yes

Yes

N/A

 

flushGetRequests

Yes

No

N/A

 

multiGet

Yes

Yes

N/A

 

multiMerge

Yes

Yes

N/A

 

multiSet

Yes

Yes

N/A

 

multiRemove

Yes

Yes

N/A

 

BackHandler

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Methods

exitApp

Partial

No

Not Possible

Android and Tizen only

addEventListener

Yes

Yes

N/A

 

removeEventListener

Yes

Yes

N/A

 

Note, on tvOS, the application closes when the Siri remote Menu button is pressed and there are no registered event listeners for the BackHandler. Conversely, on all other platforms, your app needs to handle the back button press and exit the application.

For components where you want your application to exit when the back button is pressed use the code sample below to only register a BackHandler listener if the application isn't running on tvOS. For all other application components, register a listener to handle the event as needed (even on tvOS) and be sure to remove the listener when the component unmounts.

See the following code sample for more details:

componentDidMount() {
   if(!isTVOS){
      BackHandler.addEventListener("hardwareBackPress", this.handleBackButtonPressed);
   }
 }
 componentWillUnmount() {
   if(!isTVOS){
      BackHandler.removeEventListener("hardwareBackPress", this.handleBackButtonPressed);
   }
 }

 handleBackButtonPressed = () => {
    BackHandler.exitApp(); // Where supported
    return true;
 }

Button

Note

The Button component is updated to use text margin instead of text padding, making button text behave like Facebook React Native 0.62. Ensure your buttons have enough height and width for the text, or text may appear clipped.

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

onPress

Yes

Yes

N/A

 

title

Yes

Yes

Yes

 

accessibilityLabel

Yes

No

N/A

iOS and tvOS only

color

Yes

Yes

Yes

 

disabled

Yes

Yes

No

 

testID

Yes

Yes

Not Possible

 

hasTVPreferredFocus

No

No

Not Possible

tvOS only

Dimensions

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Methods

set

Yes

No

N/A

 

get

Yes

No

N/A

For You.i Engine React Native, the Android behavior of this method applies to all target platforms.

addEventListener

Yes

No

N/A

 

removeEventListener

Yes

No

N/A

 

Easing

The Easing module relates directly to the Animated API component for Facebook React Native.

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Methods

step0

Yes

Yes

N/A

 

step1

Yes

Yes

N/A

 

linear

Yes

Yes

N/A

 

ease

Yes

No

N/A

 

quad

Yes

Yes

N/A

 

cubic

Yes

No

N/A

 

poly

Yes

Yes

N/A

 

sin

Yes

No

N/A

 

circle

Yes

No

N/A

 

exp

Yes

No

N/A

 

elastic

Yes

No

N/A

 

back

Yes

No

N/A

 

bounce

Yes

Not Possible

N/A

 

bezier

Yes

No

N/A

 

in

Yes

Yes

N/A

 

out

Yes

Yes

N/A

 

inOut

Yes

Yes

N/A

 

FlatList

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

Inherits ScrollView props.

Inherits VirtualizedList props.

renderItem

Yes

Yes

N/A

The native Roku list only supports one list item template. The renderItem template used should be same for every item in the list.

data

Yes

Yes

Unknown

 

ItemSeparatorComponent

No

No

N/A

 

ListEmptyComponent

Yes

No

N/A

 

ListFooterComponent

Yes

No

N/A

 

ListHeaderComponent

Yes

No

N/A

 

columnwrapperstyle

No

No

No

 

extraData

Yes

Yes

N/A

 

getItemLayout

Yes

Yes

N/A

 

horizontal

Yes

Yes

Unknown

 

initialNumToRender

Yes

No

N/A

For more details on Roku lists, see Roku List Development.

initialScrollIndex

Yes

No

N/A

For more details on Roku lists, see Roku List Development.

inverted

No

No

No

 

keyExtractor

Yes

Yes

N/A

 

numColumns

Yes

Yes

Unknown

 

onEndReached

Yes

Yes

N/A

 

onEndReachedThreshold

Yes

Yes

N/A

 

onRefresh

No

No

N/A

 

onViewableItemsChanged

Yes

Yes

N/A

 

progressViewOffset

No

No

Not Possible

 

legacyImplementation

No

No

N/A

 

refreshing

No

No

N/A

 

removeClippedSubviews

No

No

N/A

 

viewabilityConfig

No

No

N/A

 

viewabilityConfigCallbackPairs

No

No

N/A

 

Component Methods

scrollToEnd

Yes

Yes

N/A

 

scrollToIndex

Yes

Yes

N/A

 

scrollToItem

Yes

Yes

N/A

 

scrollToOffset

Yes

Yes

N/A

 

recordInteraction

No

No

N/A

 

flashScrollIndicators

No

No

No

 

I18nManager Module

The i18n Manager module is used to enable support for Right-to-Left (RTL) languages. See RTL support to learn more.

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Constants

isRTL

Yes

Yes

N/A

 

doLeftAndRightSwapInRTL

Yes

Yes

N/A

 

Module Methods

allowRTL

Yes

Yes

N/A

 

forceRTL

Yes

Yes

N/A

 

swapLeftAndRightInRTL

Yes

Yes

N/A

 

Image

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

style

Partial

Partial

Unknown

"borderRadius" property not supported on Roku

blurRadius

No

No

Not Possible

 

onLoad

Yes

No

N/A

 

onLoadEnd

Yes

No

N/A

 

onLoadStart

Yes

No

N/A

 

source

Yes

Yes

Yes

No support for cache.

For details on Roku support, see this link.

loadingIndicatorSource

No

No

N/A

 

onError

Yes

No

N/A

 

testID

Yes

Yes

N/A

 

resizeMode

No

Partial

Yes

You.i TV recommends to not use resizeMode as an Image component's prop, but as an ImageStyle prop.

resizeMethod

No

No

Not Possible

 

accessibilityLabel

Yes

No

Not Possible

iOS and tvOS only

accessible

No

No

Not Possible

iOS and tvOS only

capInsets

No

No

Not Possible

 

defaultSource

No

No

Not Possible

 

onPartialLoad

No

No

Not Possible

 

onProgress

No

No

Not Possible

 

fadeDuration

No

No

Not Possible

 

progressiveRenderingEnabled

No

No

Unknown

 

Component Methods

prefetch

No

No

N/A

 

getSize

Yes

Yes

N/A

 

abortPrefetch

No

No

N/A

 

queryCache

No

No

N/A

 

resolveAssetSource

No

No

N/A

 

Static Images

Place static images in the project sub-folder AE/assets/drawable/default and specify the source uri in your Image component. Note that when using images from a uri, the image's dimensions must be specified.

<View>  
   <Image
     style={{
       width: 75,
       height: 75,
       resizeMode: 'contain',
     }}
     source={{ uri: 'res://drawable/default/youi_logo_red.png' }}
   />
 </View>

URI Data Images

Inline base64-encoded images are also supported. We recommend you use uri data images for small or dynamic images only, when other types can't be used. Like other network-based images, don't forget to specify dimensions for your image. Note that specifying the mime type is optional. You.i Engine One determines the actual type from the encoded data.

<View>  
   <Image
     style={{
       width: 75,
       height: 75,
       resizeMode: 'contain',
     }}
     source={{     
       uri:
         'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAEXRFWHRTb2Z0d2FyZQBwbmdjcnVzaEB1SfMAAABQSURBVGje7dSxCQBACARB+2/ab8BEeQNhFi6WSYzYLYudDQYGBgYGBgYGBgYGBgYGBgZmcvDqYGBgmhivGQYGBgYGBgYGBgYGBgYGBgbmQw+P/eMrC5UTVAAAAABJRU5ErkJggg==',
     }}
   />
 </View>

Warning: On Roku Cloud Solution, base64 images provided through the uri scheme remain on disk until your application is unloaded. To avoid running out of disk space, we recommend only using the uri scheme with small images.

Image Style Props

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Style Properties

backfaceVisibility

No

No

No

 

backgroundColor

No

Yes

Yes

 

borderBottomLeftRadius

No

Not Possible

No

 

borderBottomRightRadius

No

Not Possible

No

 

borderColor

No

Not Possible

No

 

borderRadius

No

Not Possible

No

Roku 8.0 doesn't support rounded corners

borderTopLeftRadius

No

Not Possible

No

 

borderTopRightRadius

No

Not Possible

No

 

borderWidth

No

Not Possible

No

 

opacity

No

No

Unknown

 

overflow

No

No

No

 

overlayColor

No

No

Not Possible

 

resizeMode

Yes

Partial

Yes

Roku currently only supports contain, stretch and cover, but repeat and center modes are displayed as stretch on Roku. overflow is not supported. See Roku docs for more details.
You.i TV recommends not using resizeMode as an Image component's prop, but as an ImageStyle prop.

tintColor

Yes

No

Not Possible

 

InputAccessoryView

Note

Remember the following points when using InputAccessoryView:

  • It is currently supported on tvOS only.
  • It can only take a single Image component as a child.

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

backgroundColor

No

No

No

 

nativeID

Yes

No

No

 

style

No

No

No

 

The following code sample illustrates InputAccessoryView with a single Image component as child:

<View>
  <ScrollView>
	<TextInput
	  style={{
		padding: 20,
		paddingTop: 30,
	  }}
	  inputAccessoryViewID={inputAccessoryViewID}
	  value={this.state.text}
	/>
   </ScrollView>
	<InputAccessoryView nativeID={inputAccessoryViewID}>
	  <Image
	    source={{uri: 'https://via.placeholder.com/720x405/fa8072?text=Image'}}
	  />
	</InputAccessoryView>
   </View>

Interaction Manager

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Methods

runAfterInteractions

Yes

Yes

N/A

 

createInteractionHandle

Yes

Yes

N/A

 

clearInteractionHandle

Yes

Yes

N/A

 

setDeadline

Yes

Yes

N/A

 

Component Properties

Events

Yes

Yes

N/A

 

addListener

Yes

Yes

N/A

 

Keyboard

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Methods

addListener

Yes

Not Possible

N/A

The keyboard is handled automatically via TextInput on Roku devices.

removeListener

Yes

Not Possible

N/A

 

removeAllListeners

Yes

Not Possible

N/A

 

dismiss

Yes

Not Possible

N/A

 

LayoutAnimation

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Methods

configureNext

Yes

Yes

N/A

 

create

Yes

Yes

N/A

 

checkConfig

Yes

Yes

N/A

 

Component Properties

Properties

Yes

Yes

N/A

 

Types

Yes

Yes

N/A

Keyboard is not supported; additionally for Roku, spring is not supported.

Presets

Yes

Yes

N/A

spring preset is not supported on Roku

easeInEaseOut

Yes

Yes

N/A

 

linear

Yes

Yes

N/A

 

spring

Yes

Not Possible

N/A

 

Layout Style Props

Note

The props listed as Supported on Roku in the following table work with the following RN components: Button, Image, FlatList, ScrollView, Text, TextInput, View, and VirtualizedList.

 

Supported
(not Roku)

Supported
on Roku

Dynamic on Roku

Notes

Style Properties

alignContent

Partial

No

No

space-around and space-between modes are not supported.

alignItems

Yes

Yes

Yes

 

alignSelf

Yes

Partial

Yes

 

aspectRatio

Yes

Yes

Yes

 

borderBottomWidth

No

Not Possible

Not Possible

 

borderEndWidth

No

Not Possible

Not Possible

 

borderLeftWidth

No

Not Possible

Not Possible

 

borderRightWidth

No

Not Possible

Not Possible

 

borderStartWidth

No

Not Possible

Not Possible

 

borderTopWidth

No

Not Possible

Not Possible

 

borderWidth

No

Not Possible

Not Possible

 

bottom

Yes

Yes

No

 

direction

Yes

Yes

Yes

RTL text is not supported on Roku.

display

Yes

N/A

Not Possible

 

end

Yes

No

No

 

flex

Yes

Yes

Yes

 

flexBasis

Yes

Yes

Yes

 

flexDirection

Yes

Yes

Yes

 

flexGrow

Yes

Yes

Yes

 

flexShrink

Yes

No

No

 

flexWrap

Yes

Yes

Yes

 

height

Yes

Yes

Yes

 

justifyContent

Yes

Yes

Yes

 

left

Yes

Yes

No

 

margin

Yes

Yes

No

 

marginBottom

Yes

Yes

No

 

marginEnd

Yes

Yes

Yes

 

marginHorizontal

Yes

Yes

Yes

 

marginLeft

Yes

Yes

No

 

marginRight

Yes

Yes

No

 

marginStart

Yes

Yes

Yes

 

marginTop

Yes

Yes

No

 

marginVertical

Yes

Yes

Yes

 

maxHeight

Yes

Yes

Yes

 

maxWidth

Yes

Yes

No

 

minHeight

Yes

Yes

No

 

minWidth

Yes

Yes

Yes

 

overflow

Yes

Yes

Yes

 

padding

Yes

Yes

Yes

 

paddingBottom

Yes

Yes

No

 

paddingEnd

Yes

Yes

Yes

 

paddingHorizontal

Yes

Yes

No

 

paddingLeft

Yes

Yes

No

 

paddingRight

Yes

Yes

No

 

paddingStart

Yes

Yes

Yes

 

paddingTop

Yes

Yes

No

 

paddingVertical

Yes

Yes

No

 

position

Yes

Yes

No

 

right

Yes

Yes

No

 

start

Yes

Yes

No

 

top

Yes

Yes

No

 

width

Yes

Yes

Yes

 

zIndex

Yes

Yes

No

No effect on children of lists or scrollviews.

Linking Module

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Methods

constructor

Yes

Yes

N/A

 

addEventListener

Yes

Yes

N/A

Roku deeplink launches fresh client

removeEventListener

Yes

Yes

N/A

Roku deeplink launches fresh client

openURL

Yes

Yes

N/A

Roku can only open installed channels

canOpenURL

Yes

Yes

N/A

Roku can only open installed channels

getInitialURL

Yes

Yes

N/A

 

Note

  • You can also use react-native-modal with You.i Engine One by running yarn add react-native-modal from the terminal.
  • You.i TV recommends that Cloud Solution apps use only modals with simple animations, such as fades or slides, from react-native-modal. Complex animations with scaling or bouncing have rendering issues on Roku. For all other supported platforms, You.i Engine One supports all modals from react-native-modal, except scrollable.
  • Set useNativeDriver to true for modals to animate effectively on all supported target platforms, including Roku.
  • Modal is not currently supported for LG webOS target platforms.

 

Supported
(not Roku)

Supported
on Roku

Dynamic on Roku

Notes

Component Properties

animated (deprecated)

No

No

N/A

Use animationType instead

visible

Yes

Yes

N/A

 

supportedOrientations

No

No

N/A

 

onRequestClose

No

Yes

N/A

 

onShow

Yes

Yes

N/A

 

transparent

No

Yes

N/A

 

animationType

Yes

No

N/A

 

hardwareAccelerated

Yes

No

N/A

Android only

onDismiss (back button support)

Yes

Yes

N/A

 

onOrientationChange

Yes

Yes

N/A

 

presentationStyle

No

Yes

N/A

 

NetInfo

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Methods

addEventListener

Yes

No

N/A

 

removeEventListener

Yes

No

N/A

 

fetch

Yes

No

N/A

 

getConnectionInfo

Yes

No

N/A

 

isConnectionExpensive

No

No

N/A

 

Component Properties

isConnected

Yes

No

N/A

 

PanResponder

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Methods

create

Yes

Not Possible

Not Possible

 

Handlers

onMoveShouldSetPanResponder

Yes

No

No

 

onMoveShouldSetPanResponderCapture

Yes

No

No

 

onStartShouldSetPanResponder

Yes

No

No

 

onStartShouldSetPanResponderCapture

Yes

No

No

 

onPanResponderReject

Yes

No

No

 

onPanResponderGrant

Yes

No

No

 

onPanResponderStart

Yes

No

No

 

onPanResponderEnd

Yes

No

No

 

onPanResponderRelease

Yes

No

No

 

onPanResponderMove

Yes

No

No

 

onPanResponderTerminate

Yes

No

No

 

onPanResponderTerminationRequest

Yes

No

No

 

onShouldBlockNativeResponder

Yes

No

No

 

PixelRatio

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Methods

get

Yes

Yes

N/A

 

getFontScale

Yes

Yes

N/A

 

getPixelSizeForLayoutSize

Yes

Yes

N/A

 

roundToNearestPixel

Yes

Partial

N/A

 

SafeAreaView

Inherits View props.

ScrollView

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

Inherits View props.

alwaysBounceVertical

No

No

Not Possible

 

contentContainerStyle

No

No

Unknown

 

keyboardDismissMode

No

No

N/A

 

keyboardShouldPersistTaps

No

No

N/A

 

onContentSizeChange

Yes

Yes

N/A

 

onMomentumScrollBegin

Yes

Yes

N/A

 

onMomentumScrollEnd

Yes

Yes

N/A

 

onScroll

Yes

Yes

N/A

 

onScrollBeginDrag

Yes

No

N/A

 

onScrollEndDrag

Yes

No

N/A

 

pagingEnabled

No

No

No

 

refreshControl

No

No

No

 

removeClippedSubviews

No

No

No

 

scrollEnabled

Yes

Yes

Yes

 

showsHorizontalScrollIndicator

No

No

No

 

showsVerticalScrollIndicator

No

No

No

 

stickyHeaderIndices

No

No

No

 

endFillColor

No

No

No

 

overScrollMode

No

No

Not Possible

 

scrollPerfTag

No

No

Not Possible

 

alwaysBounceHorizontal

No

No

Not Possible

 

horizontal

Yes

Yes

Yes

 

automaticallyAdjustContentInsets

No

No

Not Possible

 

bounces

No

No

Not Possible

 

bouncesZoom

No

No

Not Possible

 

canCancelContentTouches

No

No

Not Possible

 

centerContent

No

No

Not Possible

 

contentInset

No

No

Not Possible

 

contentInsetAdjustmentBehavior

No

No

Not Possible

 

contentOffset

No

No

Not Possible

The Roku ScrollView
always scrolls whatever gains focus into view. Scrolling to a specific location is not supported.

decelerationRate

No

No

Not Possible

 

directionalLockEnabled

No

No

Not Possible

 

indicatorStyle

No

No

Not Possible

 

maximumZoomScale

No

No

Not Possible

 

minimumZoomScale

No

No

Not Possible

 

pinchGestureEnabled

No

No

Not Possible

 

scrollEventThrottle

Yes

No

Not Possible

iOS only

scrollIndicatorInsets

No

No

Not Possible

 

scrollsToTop

No

No

Not Possible

 

snapToAlignment

Yes

Yes

Yes

 

snapToInterval

Yes

Yes

Yes

 

zoomScale

No

No

Not Possible

 

nestedScrollEnabled

No

No

 

 

snapToEnd

No

No

Unknown

 

snapToOffsets

No

No

Unknown

 

snapToStart

No

No

Unknown

 

Component Methods

scrollTo

Yes

Yes

N/A

 

scrollToEnd

Yes

Yes

N/A

 

scrollWithoutAnimationTo (deprecated)

No

No

N/A

 

flashScrollIndicators

No

No

No

 

SectionList

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

sections

No

No

Not Possible

 

initialNumToRender

No

No

N/A

 

keyExtractor

No

No

N/A

 

renderItem

No

No

N/A

 

onEndReached

No

No

N/A

 

extraData

No

No

N/A

 

ItemSeparatorComponent

No

No

N/A

 

inverted

No

No

Not Possible

 

ListFooterComponent

No

No

N/A

 

legacyImplementation

No

No

N/A

 

ListEmptyComponent

No

No

N/A

 

onEndReachedThreshold

No

No

N/A

 

onRefresh

No

No

N/A

 

onViewableItemsChanged

No

No

N/A

 

refreshing

No

No

N/A

 

removeClippedSubviews

No

No

N/A

 

ListHeaderComponent

No

No

N/A

 

renderSectionFooter

No

No

N/A

 

renderSectionHeader

No

No

N/A

 

SectionSeparatorComponent

No

No

N/A

 

stickySectionHeadersEnabled

No

No

Not Possible

 

Component Methods

scrollToLocation

Yes

No

N/A

 

recordInteraction

No

No

N/A

 

flashScrollIndicators

No

No

Not Possible

 

Settings

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Methods

get

No

Not Possible

N/A

 

set

No

Not Possible

N/A

 

watchKeys

No

Not Possible

N/A

 

clearWatch

No

Not Possible

N/A

 

Slider

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

Inherits View Props.

style

Yes

No

Not Possible

 

disabled

Yes

No

Not Possible

 

maximumValue

Yes

No

N/A

 

minimumTrackTintColor

Yes

No

Not Possible

 

minimumValue

Yes

No

N/A

 

onSlidingComplete

Yes

No

N/A

 

onValueChange

Yes

No

N/A

 

step

Yes

No

N/A

 

maximumTrackTintColor

Yes

No

Not Possible

 

testID

Yes

No

N/A

 

value

Yes

No

Not Possible

 

thumbTintColor

Yes

No

Not Possible

 

maximumTrackImage

Yes

No

Not Possible

 

minimumTrackImage

Yes

No

Not Possible

 

thumbImage

Yes

No

Not Possible

 

trackImage

Yes

No

Not Possible

 

StatusBar

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

animated

No

Not Possible

N/A

 

barStyle

No

Not Possible

N/A

 

hidden

No

Not Possible

N/A

 

backgroundColor

No

Not Possible

Not Possible

 

translucent

No

Not Possible

Not Possible

 

networkActivityIndicatorVisible

No

Not Possible

Not Possible

 

showHideTransition

No

Not Possible

Not Possible

 

Component Methods

setHidden

No

Not Possible

N/A

 

setBarStyle

No

Not Possible

N/A

 

setNetworkActivityIndicatorVisible

No

Not Possible

N/A

 

setBackgroundColor

No

Not Possible

N/A

 

setTranslucent

No

Not Possible

N/A

 

StyleSheet Module

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Module Properties

hairlineWidth

Yes

No

N/A

 

absoluteFill

Yes

No

N/A

 

absoluteFillObject

Yes

No

N/A

 

Module Methods

setStyleAttributePreprocessor

No

No

N/A

 

create

Yes

Yes

N/A

 

flatten

Yes

No

No

 

Switch

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

disabled

No

No

Not Possible

 

trackColor

No

No

Not Possible

 

ios_backgroundColor

No

No

Not Possible

 

onValueChange

No

No

N/A

 

testID

No

No

N/A

 

thumbColor

No

No

Not Possible

 

tintColor

No

No

Not Possible

 

value

No

No

Not Possible

 

Systrace

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

setEnabled

No

No

 

 

isEnabled

No

No

 

 

beginEvent

Yes

No

 

 

endEvent

Yes

No

 

 

beginAsyncEvent

No

No

 

 

endAsyncEvent

No

No

 

 

counterEvent

No

No

 

 

Text

 

Supported
(not Roku)

Supported
on Roku

Dynamic on Roku

Notes

Component Properties

numberOfLines

Yes

Yes

Yes

 

selectable

No

No

N/A

 

accessible

Yes

No

N/A

iOS and tvOS only

accessibilityHint

Yes

No

No

iOS and tvOS only

accessibilityLabel

Yes

No

No

iOS and tvOS only

ellipsizeMode

Partial

Yes

Yes

Only "tail" and "clip" values are supported

nativeID

Yes

No

N/A

 

onLayout

Yes

Yes

N/A

 

onLongPress

Yes

No

N/A

 

onPress

Yes

No

N/A

 

pressRetentionOffset

No

No

N/A

 

allowFontScaling

No

No

No

 

style

Partial

No

No

You.i Engine React Native contains a known issue where style inheritance for text components does not work, requiring a user to apply a style to both parent and any children meant to inherit that attribute.

testID

Yes

Not Possible

N/A

 

disabled

No

No

No

 

selectionColor

No

No

No

 

textBreakStrategy

No

No

Not Possible

 

adjustsFontSizeToFit

Yes

No

No

 

minimumFontScale

Yes

No

Not Possible

 

maxFontSizeMultiplier

No

No

 

 

suppressHighlighting

No

No

Not Possible

 

TextInput

 

Supported
(not Roku)

Supported
on Roku

Dynamic on Roku

Notes

Component Properties

Inherits View props.

placeholderTextColor

Yes

Yes

Yes

Keyboard handled automatically on Roku.

allowFontScaling

No

No

No

 

autoCorrect

No

No

N/A

 

autoFocus

No

No

N/A

 

keyboardType

Yes

No

N/A

 

blurOnSubmit

No

No

N/A

 

caretHidden

Yes

No

Not Possible

 

defaultValue

Yes

Yes

Yes

 

editable

Yes

Yes

N/A

 

maxFontSizeMultiplier

No

No

No

 

maxLength

Yes

Yes

No

 

multiline

No

No

No

 

onBlur

Yes

Yes

N/A

 

onChange

Yes

Yes

Yes

For Roku, it is called if the OK button has been pressed and text is different.

onChangeText

Yes

Yes

Yes

For Roku, it's called if the OK button has been pressed and the text is different.

onContentSizeChange

No

No

N/A

 

onEndEditing

Yes

Yes

Yes

For Roku, it's called:

  • when the OK button has been pressed on the keyboard
  • even if text hasn't changed
  • not called if the user abandons editing

onFocus

Yes

Yes

Yes

 

onScroll

No

No

N/A

 

onSelectionChange

No

No

N/A

 

onSubmitEditing

Yes

Yes

Yes

For Roku, it is called:

  • when the OK button has been pressed on the keyboard
  • even if text hasn't changed
  • not called if the user abandons editing

placeholder

Yes

Yes

Yes

 

autoCapitalize

No

No

N/A

 

returnKeyType

Yes

Yes

Yes

 

secureTextEntry

Yes

Yes

Yes

 

selectTextOnFocus

No

No

N/A

 

selection

No

No

N/A

 

selectionColor

No

No

N/A

 

style

Yes

No

N/A

All border styles are unsupported on Roku.

value

Yes

Yes

Yes

 

disableFullscreenUI

No

No

Not Possible

 

inlineImageLeft

No

No

Not Possible

 

inlineImagePadding

No

No

Not Possible

 

numberOfLines

No

No

No

 

returnKeyLabel

No

No

N/A

 

textBreakStrategy

No

No

N/A

 

underlineColorAndroid

No

No

N/A

 

clearButtonMode

Yes

No

Not Possible

 

clearTextOnFocus

Yes

Yes

Yes

For Roku, it's called when TextInput receives focus.

dataDetectorTypes

No

No

Not Possible

 

enablesReturnKeyAutomatically

No

No

Not Possible

 

keyboardAppearance

No

No

Not Possible

 

onKeyPress

Yes

Yes

N/A

Not supported on Roku

scrollEnabled

No

No

N/A

 

selectionState

No

No

N/A

 

spellCheck

No

No

N/A

 

textContentType

No

No

N/A

 

Component Methods

isFocused

Yes

Yes

Yes

 

clear

Yes

Yes

Yes

 

Text Style Props

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

color

Yes

Yes

Yes

 

fontFamily

Partial

No

Yes

System fonts not supported; only bold or regular values available on Roku

fontSize

Partial

Partial

Yes

Basic support implemented.

When fontSize is unset or is set to a value less than or equal to zero, the default size of 14 is used.

fontStyle

No

No

No

Italic would require a second Roku font

fontVariant

No

No

Not Possible

 

fontWeight

No

No

No

"normal" and "bold" values are supported on Roku

includeFontPadding

No

No

Not Possible

Android only

letterSpacing

No

Not Possible

Not Possible

 

lineHeight

Yes

Partial

Yes

On Roku, text spacing may not appear as intended if a line height value less than the font size is specified.

shadowRadius

No

No

No

 

textAlign

Yes

Yes

Yes

Roku supports this for left, center and right alignment values

textAlignVertical

No

No

Not Possible

 

textDecorationColor

No

No

Not Possible

 

textDecorationLine

Partial

No

No

Support for underline

textDecorationStyle

No

No

Not Possible

 

textShadowColor

No

No

No

 

textShadowOffset

No

No

No

 

textTransform

No

No

No

 

writingDirection

No

Not Possible

Not Possible

 

TouchableHighlight

All of the props supported for TouchableWithoutFeedback are supported for TouchableHighlight, plus the following props:

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

activeOpacity

Yes

No

No

 

onHideUnderlay

Yes

Not Possible

N/A

 

onShowUnderlay

Yes

Not Possible

N/A

 

style

Yes

Yes

Unknown

 

underlayColor

Yes

Not Possible

No

 

hasTVPreferredFocus

No

No

No

tvOS only

 

tvParallaxProperties

Yes

Not Possible

Not Possible

tvOS only

TouchableOpacity

All of the props supported for TouchableWithoutFeedback are supported for TouchableOpacity, plus the following props:

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

activeOpacity

Yes

No

No

 

tvParallaxProperties

Yes

Not Possible

Not Possible

tvOS only

hasTVPreferredFocus

No

No

No

tvOS only

style

Yes

Partial

Unknown

 

Component Methods

setOpacityTo

Yes

No

No

N/A on 10 foot

TouchableWithoutFeedback

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

hitSlop

Yes

Not Possible

N/A

N/A on 10ft

accessibilityComponentType

No

No

N/A

Accessibility props are not currently supported for Roku

accessible

Yes

No

N/A

iOS and tvOS only

Accessibility props are not currently supported for Roku

accessibilityLabel

Yes

No

No

iOS and tvOS only

accessibilityRole

Yes

No

No

iOS and tvOS only

accessibilityStates

Yes

No

No

iOS and tvOS only

accessibilityHint

Yes

No

No

iOS and tvOS only

delayLongPress

Yes

Not Possible

N/A

N/A on 10ft; see Note below

delayPressIn

Yes

Not Possible

N/A

N/A on 10ft; see Note below

delayPressOut

Yes

Not Possible

N/A

N/A on 10ft; see Note below

disabled

Yes

Yes

Yes

TouchableOpacity and TouchableHighlight inherit the disabled property from TouchableWithoutFeedback

accessibilityTraits

No

No

N/A

Accessibility props are not supported for Roku

onBlur

Yes

Yes

Yes

 

onFocus

Yes

Yes

Yes

 

onLayout

Yes

Yes

Yes

On Roku, invoked on mount and layout changes with nativeEvent. Handled only in the server side and no need to pass to client.

onLongPress

Yes

N/A

N/A

Roku does not support this event. N/A on 10ft; see Note below

onPress

Yes

Yes

N/A

 

onPressIn

Yes

Not Possible

N/A

N/A on 10ft; see Note below

onPressOut

Yes

Not Possible

N/A

N/A on 10ft; see Note below

pressRetentionOffset

Yes

Not Possible

N/A

N/A on 10ft; see Note below

testID

Yes

Not Possible

N/A

Roku: Used to locate this view in end-to-end tests. Handled only in the server side and no need to pass to client.

style

Yes

Partial

No

 

 

Note

On platforms with touch support, it's possible to tell when a press starts and ends. On 10-foot platforms, however, when a Touchable is selected, the only callback that it can invoke is onPress. As a result, the props delayLongPress, delayPressIn, delayPressOut, onLongPress, onPressIn, onPressOut, and pressRetentionOffset aren't supported for 10ft platforms.

Transforms

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Style Properties

 

decomposedMatrix

No

No

N/A

 

rotation

Yes

No

N/A

 

scaleX

Yes

Yes

N/A

 

scaleY

Yes

Yes

N/A

 

transformMatrix

No

No

N/A

 

translateX

Yes

Yes

N/A

 

translateY

Yes

Yes

N/A

 

View

Note

Support for responder properties under View, combined with the added support of PanResponder, allows for full availability of React Native's Gesture Responder System in You.i Engine React Native version 5.6. For more information, see Facebook's React Native documentation.

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

onStartShouldSetResponder

Yes

Yes

 

 

accessibilityActions

Yes

No

 

iOS and tvOS only

 

accessibilityLabel

Yes

No

 

iOS and tvOS only

accessibilityRole

Yes

No

 

iOS and tvOS only

accessibilityIgnoresInvertColor

No

No

 

 

accessibilityHint

Yes

No

 

iOS and tvOS only

accessibilityStates

Yes

No

 

iOS and tvOS only

hitSlop

No

No

 

 

nativeID

Yes

Yes

 

 

onAccessibilityTap

Yes

No

 

iOS and tvOS only

onAccessibilityEscape

Yes

No

 

iOS and tvOS only

onLayout

Yes

Yes

 

 

onMagicTap

Yes

No

 

iOS and tvOS only

onMoveShouldSetResponder

Yes

Not Possible

N/A

 

onMoveShouldSetResponderCapture

Yes

Not Possible

N/A

 

onResponderGrant

Yes

Not Possible

N/A

 

onResponderMove

Yes

Not Possible

N/A

 

onResponderReject

Yes

Not Possible

N/A

 

onResponderRelease

Yes

Not Possible

N/A

 

onResponderTerminate

Yes

Not Possible

N/A

 

onResponderTerminationRequest

Yes

Not Possible

N/A

 

accessible

Yes

No

No

 

onStartShouldSetResponderCapture

Yes

Not Possible

N/A

 

pointerEvents

Yes

Not Possible

N/A

 

style

Yes

Yes

Unknown

 

testID

Yes

Not Possible

N/A

 

accessibilityComponentType

No

No

N/A

 

accessibilityLiveRegion

No

No

N/A

 

collapsable

No

No

N/A

 

importantForAccessibility

No

No

N/A

 

needsOffscreenAlphaCompositing

No

No

N/A

 

renderToHardwareTextureAndroid

No

No

N/A

 

accessibilityTraits

No

No

N/A

 

accessibilityViewIsModal

No

No

N/A

 

accessibilityElementsHidden

No

No

N/A

 

shouldRasterizeIOS

No

No

N/A

 

View Style Props

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Style Properties

backfaceVisibility

Yes

Not Possible

Not Possible

Not supported by Roku

backgroundColor

Yes

Yes

Yes

Supports dynamic and static update for Roku.

borderBottomColor

No

Not Possible

No

 

borderBottomEndRadius

No

No

No

 

borderBottomLeftRadius

No

No

No

 

borderBottomRightRadius

No

No

No

 

borderBottomStartRadius

No

No

No

 

borderBottomWidth

No

Not Possible

No

Not supported on Roku

borderColor

Yes

Not Possible

Not Possible

Not supported on Roku

borderEndColor

No

Not Possible

No

 

borderLeftColor

No

Not Possible

No

 

borderLeftWidth

No

Not Possible

No

Not supported on Roku

borderRadius

Yes

Not Possible

Not Possible

Roku 8.0 doesn't support rounded corners

borderRightColor

No

Not Possible

No

 

borderRightWidth

No

Not Possible

No

Not supported on Roku

borderStartColor

No

Not Possible

No

 

borderStyle

No

No

No

 

borderTopColor

No

Not Possible

No

 

borderTopEndRadius

No

Not Possible

No

 

borderTopLeftRadius

No

Not Possible

No

 

borderTopRightRadius

No

Not Possible

No

 

borderTopStartRadius

No

Not Possible

No

 

borderTopWidth

No

Not Possible

No

Not supported on Roku

borderWidth

Yes

Not Possible

Not Possible

Not supported on Roku

elevation

No

No

No

 

opacity

Yes

Yes

Yes

 

VirtualizedList

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

renderItem

Yes

Yes

N/A

 

getItemLayout

Yes

Yes

N/A

 

initialScrollIndex

Yes

No

N/A

For more details on Roku lists, see Roku List Development.

inverted

No

No

No

 

CellRendererComponent

No

No

N/A

 

ListEmptyComponent

Yes

No

N/A

 

ListFooterComponent

Yes

No

N/A

 

ListHeaderComponent

Yes

No

N/A

 

onEndReached

Yes

Yes

N/A

 

onLayout

Yes

Yes

N/A

 

onRefresh

No

No

N/A

 

onScrollToIndexFailed

Yes

Yes

N/A

 

onViewableItemsChanged

Yes

Yes

N/A

 

refreshing

No

No

N/A

 

removeClippedSubviews

No

No

N/A

 

renderScrollComponent

No

No

N/A

 

viewabilityConfig

No

No

N/A

 

viewabilityConfigCallbackPairs

No

No

N/A

 

horizontal

Yes

Yes

Unknown

 

initialNumToRender

Yes

No

N/A

For more details on Roku lists, see Roku List Development.

keyExtractor

Yes

Yes

N/A

 

maxToRenderPerBatch

Yes

Yes

N/A

 

onEndReachedThreshold

Yes

Yes

N/A

 

updateCellsBatchingPeriod

Yes

Yes

N/A

 

windowSize

Yes

No

No

 

disableVirtualization (deprecated)

Yes

Yes

N/A

 

progressViewOffset

No

No

No

 

data

Yes

Yes

Unknown

 

debug

No

No

N/A

 

extraData

Yes

Yes

N/A

 

getItem

Yes

Yes

N/A

 

getItemCount

Yes

Yes

N/A

 

Component Methods

scrollToEnd

Yes

Yes

Unknown

 

scrollToIndex

Yes

Yes

Unknown

 

scrollToItem

Yes

Yes

Unknown

 

scrollToOffset

Yes

Yes

Unknown

 

recordInteraction

No

No

N/A

 

flashScrollIndicators

No

No

No

 

WebSocket

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

binaryType

Yes

No

N/A

 

bufferedAmount

Yes

No

N/A

 

extensions

Yes

No

N/A

 

onClose

Yes

No

N/A

 

onError

Yes

No

N/A

 

onMessage

Yes

No

N/A

 

onOpen

Yes

No

N/A

 

protocol

No

No

N/A

 

readyState

Yes

No

N/A

 

url

Yes

No

N/A

 

Component Methods

close

Yes

No

N/A

 

send

Yes

No

N/A

 

WebView

Note that WebView is only supported on iOS and Android mobile devices.

 

Supported on iOS and Android mobile

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

Inherits View props.

source

Yes

Not Possible

N/A

 

allowFileAccess

No

Not Possible

N/A

 

automaticallyAdjustContentInsets

No

Not Possible

N/A

 

injectJavaScript

No

Not Possible

N/A

 

injectedJavaScript

No

Not Possible

N/A

 

mediaPlaybackRequiresUserAction

No

Not Possible

N/A

 

geolocationEnabled

No

Not Possible

N/A

 

nativeConfig

No

Not Possible

N/A

 

originWhiteList

No

Not Possible

N/A

 

onError

Yes

Not Possible

N/A

 

onLoad

Yes

Not Possible

N/A

 

onLoadEnd

Yes

Not Possible

N/A

 

onLoadStart

Yes

Not Possible

N/A

 

onMessage

No

Not Possible

N/A

 

onNavigationStateChange

Yes

Not Possible

N/A

 

renderError

Yes

Not Possible

N/A

 

renderLoading

Yes

Not Possible

N/A

 

scalesPageToFit

No

Not Possible

N/A

 

onShouldStartLoadWithRequest

No

Not Possible

N/A

 

startInLoadingState

No

Not Possible

N/A

 

style

No

Not Possible

N/A

 

decelerationRate

Yes

Not Possible

N/A

iOS only

domStorageEnabled

No

Not Possible

N/A

 

javaScriptEnabled

No

Not Possible

N/A

 

mixedContentMode

No

Not Possible

N/A

 

thirdPartyCookiesEnabled

No

Not Possible

N/A

 

userAgent

No

Not Possible

N/A

 

useWebKit

No

Not Possible

N/A

 

allowsInlineMediaPlayback

No

Not Possible

N/A

 

bounces

Yes

Not Possible

N/A

iOS only

contentInset

No

Not Possible

N/A

 

dataDetectorTypes

No

Not Possible

N/A

 

scrollEnabled

Yes

Not Possible

N/A

iOS only

allowUniversalAccessFromFileURLs

No

Not Possible

N/A