public final class SelectorComponent extends Component
Component.willRender(ComponentContext, Component)
on the Components provided.
This is useful when a single Component is to be rendered amongst a large number of candidate Components or when multiple Components can potentially render some content using the same props and the first one capable of rendering the content needs to be used.
com.facebook.litho.widget.SelectorComponentSpec
Modifier and Type | Class and Description |
---|---|
static class |
SelectorComponent.Builder |
Component.ContainerBuilder<T extends Component.ContainerBuilder<T>>
ComponentLifecycle.MountType, ComponentLifecycle.RenderData, ComponentLifecycle.StateContainer, ComponentLifecycle.StateUpdate, ComponentLifecycle.TransitionContainer
mSplitChildrenLayoutInThreadPool
Modifier and Type | Method and Description |
---|---|
static SelectorComponent.Builder |
create(ComponentContext context) |
static SelectorComponent.Builder |
create(ComponentContext context,
int defStyleAttr,
int defStyleRes) |
boolean |
isEquivalentTo(Component other)
Compares this component to a different one to check if they are the same
This is used to be able to skip rendering a component again.
|
protected Component |
onCreateLayout(ComponentContext c)
Generate a tree of
ComponentLayout representing the layout structure of the Component and its sub-components. |
canResolve, clearCachedLayout, copyInterStageImpl, getEventDispatcher, getId, getOrCreateCommonProps, getScopedContext, getSimpleName, getStateContainer, makeShallowCopy, measure, recordEventTrigger, registerWorkingRange, releaseCachedLayout, setScopedContext, updateInternalChildState, updateInternalChildState, willRender
acceptTriggerEvent, acquireDiff, acquireOutput, applyPreviousRenderData, callsShouldUpdateOnMount, canMeasure, canMountIncrementally, canPreallocate, createInitialState, createMountContent, dispatchErrorEvent, dispatchErrorEvent, dispatchOnEnteredRange, dispatchOnEvent, dispatchOnExitedRange, getEventTrigger, getExtraAccessibilityNodeAt, getExtraAccessibilityNodesCount, getMountType, getTreePropsForChildren, hasState, implementsAccessibility, implementsExtraAccessibilityNodes, isMountSizeDependent, isPureRender, needsPreviousRenderData, newEventHandler, newEventHandler, newEventTrigger, onBind, onBoundsDefined, onCreateLayoutWithSizeSpec, onCreateMountContent, onCreateMountContentPool, onCreateTransition, onError, onLoadStyle, onMeasure, onMeasureBaseline, onMount, onPopulateAccessibilityNode, onPopulateExtraAccessibilityNode, onPrepare, onUnbind, onUnmount, poolSize, populateTreeProps, recordRenderData, releaseDiff, releaseOutput, resolve, shouldAlwaysRemeasure, shouldUpdate, shouldUseDisplayList, transferState
public boolean isEquivalentTo(Component other)
Component
Object.equals(Object)
so we can optimize the code better over time since we don't have
to adhere to the contract required for a equals method.isEquivalentTo
in class Component
other
- the component to compare toprotected Component onCreateLayout(ComponentContext c)
ComponentLifecycle
ComponentLayout
representing the layout structure of the Component
and its sub-components. You should use ComponentContext.newLayoutBuilder(int, int)
to
build the layout tree.onCreateLayout
in class ComponentLifecycle
c
- The ComponentContext
to build a ComponentLayout
tree.public static SelectorComponent.Builder create(ComponentContext context)
public static SelectorComponent.Builder create(ComponentContext context, int defStyleAttr, int defStyleRes)