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.

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), OSX, 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.

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

iOS only

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

Not Possible

N/A

 

timing

Yes

Yes

N/A

 

spring

Yes

Not Possible

N/A

 

add

Yes

No

N/A

 

divide

Yes

Not Possible

N/A

 

multiply

Yes

Not Possible

N/A

 

modulo

Yes

Not Possible

N/A

 

diffClamp

Yes

Yes

N/A

 

delay

Yes

Yes

N/A

 

sequence

Yes

Yes

N/A

 

subtract

No

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, LG webOS, Samsung Tizen, UWP, Android, and PS4.

 

Supported
(not Roku)

Supported
on Roku

Dynamic on Roku

Notes

Component Methods

addEventListener

Yes

Not Possible

N/A

 

removeEventListener

Yes

Not Possible

N/A

 

Component Properties

currentState

Yes

Not Possible

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

Note

You must import the backHandler module from react-native-youi.

 

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

For best performance, import the Button component from react-native-youi.

 

Supported
(not Roku)

Supported
on Roku

Dynamic on Roku

Notes

Component Properties

onPress

Yes

Yes

N/A

 

title

Yes

Yes

Yes

 

accessibilityLabel

No

No

N/A

 

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

Yes

N/A

 

get

Yes

Yes

N/A

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

addEventListener

Yes

Yes

N/A

 

removeEventListener

Yes

Yes

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

Not Possible

N/A

 

poly

Yes

Yes

N/A

 

sin

Yes

Not Possible

N/A

 

circle

Yes

Not Possible

N/A

 

exp

Yes

Not Possible

N/A

 

elastic

Yes

Not Possible

N/A

 

back

Yes

Not Possible

N/A

 

bounce

Yes

Not Possible

N/A

 

bezier

Yes

Not Possible

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

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

No

No

N/A

 

ListFooterComponent

No

No

N/A

 

ListHeaderComponent

No

No

N/A

 

columnwrapperstyle

No

No

No

 

extraData

Yes

Yes

N/A

 

getItemLayout

Yes

Yes

N/A

 

horizontal

Yes

Yes

Unknown

 

initialNumToRender

Yes

Yes

N/A

 

initialScrollIndex

Yes

Yes

N/A

 

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

Android only

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

 

Image

Important

For best image performance, import the Image component from react-native-youi.

 

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

Android only

accessibilityLabel

No

No

Not Possible

iOS only

accessible

No

No

Not Possible

iOS only

capInsets

No

No

Not Possible

iOS only

defaultSource

No

No

N/A

iOS only

onPartialLoad

No

No

Not Possible

iOS only

onProgress

No

No

Not Possible

iOS only

fadeDuration

No

No

Not Possible

Android only

progressiveRenderingEnabled

No

No

Unknown

 

Component Methods

prefetch

No

No

N/A

 

getSize

Yes

No

Unknown

 

abortPrefetch

No

No

N/A

Android only

queryCache

No

No

N/A

 

resolveAssetSource

No

No

N/A

 

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

Android only

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:

  • Import the InputAccessoryView component from react-native-youi.
  • 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 Layout Style Props supported on Roku will only work with the following RN components: View, Text, Image, TextInput, and Button.

 

Supported
(not Roku)

Supported
on Roku

Dynamic on Roku

Notes

Style Properties

alignContent

Yes

Yes

No

 

alignItems

Yes

Partial

Yes

stretch is not supported on Roku

alignSelf

Yes

Yes

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

No

Not Possible

iOS only

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

No

No

 

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

 

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

visible

No

No

Not Possible

 

supportedOrientations

No

No

Not Possible

iOS only

onRequestClose

No

No

Not Possible

Android, tvOS

onShow

No

No

N/A

 

transparent

No

No

Not Possible

 

animationType

No

No

N/A

 

hardwareAccelerated

No

No

Not Possible

Android only

onDismiss (back button support)

No

No

Not Possible

iOS only

onOrientationChange

No

No

Not Possible

iOS only

presentationStyle

No

No

Not Possible

 

animated

No

No

N/A

iOS only

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

 

Supported
(not Roku)

Supported
on Roku

Notes

Component Properties

onStartShouldSetResponder

Yes

Yes

 

accessibilityLabel

No

No

 

accessibilityRole

No

No

 

accessibilityIgnoresInvertColor

No

No

 

accessibilityHint

No

No

 

accessibilityStates

No

No

 

hitSlop

No

No

 

nativeID

Yes

Yes

 

onAccessibilityTap

No

No

 

onLayout

Yes

Yes

 

onMagicTap

No

No

 

onMoveShouldSetResponder

Yes

Not Possible

 

onMoveShouldSetResponderCapture

Yes

Not Possible

 

onResponderGrant

Yes

Not Possible

 

onResponderMove

Yes

Not Possible

 

onResponderReject

Yes

Not Possible

 

onResponderRelease

Yes

Not Possible

 

onResponderTerminate

Yes

Not Possible

 

onResponderTerminationRequest

Yes

Not Possible

 

accessible

No

No

 

onStartShouldSetResponderCapture

Yes

Not Possible

 

pointerEvents

Yes

Not Possible

 

removeClippedSubviews

Yes

Not Possible

 

style

Yes

Yes

 

testID

Yes

Not Possible

 

accessibilityComponentType

No

No

Android only

accessibilityLiveRegion

No

No

Android only

collapsable

No

No

Android only

importantForAccessibility

No

No

Android only

needsOffscreenAlphaCompositing

No

No

Android only

renderToHardwareTextureAndroid

No

No

Android only

accessibilityTraits

No

No

iOS only

accessibilityViewIsModal

No

No

iOS only

accessibilityElementsHidden

No

No

iOS only

shouldRasterizeIOS

No

No

iOS only

ScrollView

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

alwaysBounceVertical

No

No

Not Possible

iOS only

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

Android only

overScrollMode

No

No

Not Possible

Android only

scrollPerfTag

No

No

Not Possible

Android only

alwaysBounceHorizontal

No

No

Not Possible

iOS only

horizontal

Yes

Yes

Yes

 

automaticallyAdjustContentInsets

No

No

Not Possible

iOS only

bounces

No

No

Not Possible

iOS only

bouncesZoom

No

No

Not Possible

iOS only

canCancelContentTouches

No

No

Not Possible

iOS only

centerContent

No

No

Not Possible

iOS only

contentInset

Yes

Yes

Not Possible

iOS only

contentInsetAdjustmentBehavior

No

No

Not Possible

iOS only

contentOffset

Yes

No

Not Possible

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

iOS only

decelerationRate

No

No

Not Possible

iOS only

directionalLockEnabled

No

No

Not Possible

iOS only

indicatorStyle

No

No

Not Possible

iOS only

maximumZoomScale

No

No

Not Possible

iOS only

minimumZoomScale

No

No

Not Possible

iOS only

pinchGestureEnabled

No

No

Not Possible

iOS only

scrollEventThrottle

Yes

Partial

Not Possible

iOS only

scrollIndicatorInsets

No

No

Not Possible

iOS only

scrollsToTop

No

No

Not Possible

iOS only

snapToAlignment

Yes

Yes

Yes

 

snapToInterval

Yes

Yes

Yes

 

zoomScale

No

No

Not Possible

iOS only

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 (deprecated)

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

Note

Import the Slider component from the react-native-youi package to get performance updates.

 

Supported
(not Roku)

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

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

Android only

translucent

No

Not Possible

Not Possible

Android only

networkActivityIndicatorVisible

No

Not Possible

Not Possible

iOS only

showHideTransition

No

Not Possible

Not Possible

iOS only

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 Methods

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

No

No

N/A

 

accessibilityHint

No

No

No

 

accessibilityLabel

No

No

No

 

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

Android only

selectionColor

No

No

No

Android only

textBreakStrategy

No

No

Not Possible

Android only

adjustsFontSizeToFit

No

No

No

iOS only

minimumFontScale

No

No

Not Possible

iOS only

maxFontSizeMultiplier

No

No

 

 

suppressHighlighting

No

No

Not Possible

iOS only

TextInput

Important

For best performance, import the TextInput component from react-native-youi.

 

Supported
(not Roku)

Supported
on Roku

Dynamic on Roku

Notes

Component Properties

placeholderTextColor

Yes

Yes

Yes

Keyboard handled automatically on Roku.

allowFontScaling

No

No

No

 

autoCorrect

No

No

N/A

 

autoCompleteType

No

No

No

 

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

No

No

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 is called if the OK button has been pressed and text is different.

onContentSizeChange

No

No

N/A

 

onEndEditing

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

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

Android only

inlineImageLeft

No

No

Not Possible

Android only

inlineImagePadding

No

No

Not Possible

Android only

numberOfLines

No

No

No

Android only

returnKeyLabel

No

No

N/A

Android only

textBreakStrategy

No

No

N/A

Android only

underlineColorAndroid

No

No

N/A

Android only

clearButtonMode

No

No

Not Possible

iOS only

clearTextOnFocus

Yes

Yes

Yes

For Roku, it is called when TextInput receives focus.

dataDetectorTypes

No

No

Not Possible

iOS only

enablesReturnKeyAutomatically

No

No

Not Possible

iOS only

keyboardAppearance

No

No

Not Possible

iOS only

onKeyPress

Yes

Yes

N/A

Not supported on Roku

scrollEnabled

No

No

N/A

iOS only

selectionState

No

No

N/A

iOS only

spellCheck

No

No

N/A

iOS only

textContentType

No

No

N/A

iOS only

Component Methods

isFocused

No

No

N/A

 

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

fontStyle

No

No

No

Italic would require a second Roku font

fontVariant

No

No

Not Possible

iOS only

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

iOS only

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

Android only

textDecorationColor

No

No

Not Possible

iOS only

textDecorationLine

Partial

No

No

Support for underline

textDecorationStyle

No

No

Not Possible

iOS only

textShadowColor

No

No

No

 

textShadowOffset

No

No

No

 

textTransform

No

No

No

 

writingDirection

No

Not Possible

Not Possible

iOS only

TouchableHighlight

 

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

Yes

No

Not Possible

tvOS only

tvParallaxProperties

Yes

Not Possible

Not Possible

tvOS only

TouchableOpacity

 

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

Yes

No

Not Possible

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 10 foot

accessibilityComponentType

Yes

No

N/A

Accessibility props are not currently supported for Roku

accessible

Yes

No

N/A

Accessibility props are not currently supported for Roku

accessibilityLabel

No

No

No

 

accessibilityRole

No

No

No

 

accessibilityStates

No

No

No

 

accessibilityHint

No

No

No

 

delayLongPress

Yes

Not Possible

N/A

N/A on 10 foot

delayPressIn

Yes

Not Possible

N/A

N/A on 10 foot

delayPressOut

Yes

Not Possible

N/A

N/A on 10 foot

disabled

Yes

Yes

Unknown

TouchableOpacity and TouchableHighlight inherit the disabled property from TouchableWithoutFeedback

accessibilityTraits

Yes

No

N/A

Accessibility props are not supported for Roku

onBlur

Yes

Yes

N/A

 

onFocus

Yes

Yes

N/A

 

onLayout

Yes

No

N/A

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

No

N/A

Roku does not support this event

onPress

Yes

Yes

N/A

 

onPressIn

Yes

Not Possible

N/A

 

onPressOut

Yes

Not Possible

N/A

 

pressRetentionOffset

Yes

Not Possible

N/A

N/A on 10 foot

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

 

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

 

 

accessibilityLabel

No

No

 

 

accessibilityRole

No

No

 

 

accessibilityIgnoresInvertColor

No

No

 

 

accessibilityHint

No

No

 

 

accessibilityStates

No

No

 

 

hitSlop

No

No

 

 

nativeID

Yes

Yes

 

 

onAccessibilityTap

No

No

 

 

onAccessibilityEscape

No

No

 

 

onLayout

Yes

Yes

 

 

onMagicTap

No

No

 

 

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

No

No

N/A

 

onStartShouldSetResponderCapture

Yes

Not Possible

N/A

 

pointerEvents

Yes

Not Possible

N/A

 

removeClippedSubviews

Yes

Not Possible

N/A

 

style

Yes

Yes

Unknown

 

testID

Yes

Not Possible

N/A

 

accessibilityComponentType

No

No

N/A

Android only

accessibilityLiveRegion

No

No

N/A

Android only

collapsable

No

No

N/A

Android only

importantForAccessibility

No

No

N/A

Android only

needsOffscreenAlphaCompositing

No

No

N/A

Android only

renderToHardwareTextureAndroid

No

No

N/A

Android only

accessibilityTraits

No

No

N/A

iOS only

accessibilityViewIsModal

No

No

N/A

iOS only

accessibilityElementsHidden

No

No

N/A

iOS only

shouldRasterizeIOS

No

No

N/A

iOS only

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

Android only

opacity

Yes

Yes

Unknown

 

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

 

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

 

keyExtractor

Yes

Yes

N/A

 

maxToRenderPerBatch

Yes

Yes

N/A

 

onEndReachedThreshold

Yes

Yes

N/A

 

updateCellsBatchingPeriod

Yes

Yes

N/A

 

windowSize

No

No

No

 

disableVirtualization

Yes

Yes

N/A

 

progressViewOffset

No

No

No

Android only

Component Methods

data

Yes

Yes

Unknown

 

debug

No

No

N/A

 

extraData

Yes

Yes

N/A

 

getItem

Yes

Yes

N/A

 

getItemCount

Yes

Yes

N/A

 

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

You.i Engine 5.6 adds support for subprotocols to WebSocket, but for it to work, you must import You.i Engine React Native's version of WebSocket via this command: import WebSocket from '@youi/react-native-youi';

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.

Warning: WebView is deprecated by Facebook. For continued support, import the You.i Engine React Native version of Webview from react-native-youi. For more information, refer to the You.i React Native WebView component documentation.

 

Supported
on iOS and
Android mobile

Supported
on Roku

Dynamic
on Roku

Notes

Component Properties

source

Yes

Not Possible

N/A

 

allowFileAccess

No

Not Possible

 

 

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

 

 

nativeConfig

No

Not Possible

N/A

 

originWhiteList

No

Not Possible

 

 

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

iOS only

startInLoadingState

No

Not Possible

N/A

 

style

No

Not Possible

N/A

 

decelerationRate

Yes

Not Possible

N/A

iOS only

domStorageEnabled

No

Not Possible