Overload 1
Common
@Composable
public inline fun <T : Any, reified E : Applier<*>> ReusableComposeNode(
noinline factory: () -> T,
update: @DisallowComposableCalls Updater<T>.() -> Unit,
)
Emits a recyclable node into the composition of type T.
This function will throw a runtime exception if E is not a subtype of the applier of the currentComposer.
Parameters
| factory | A function which will create a new instance of T. This function is NOT guaranteed to be called in place. |
| update | A function to perform updates on the node. This will run every time emit is executed. This function is called in place and will be inlined. |
Overload 2
Common
@Composable
public inline fun <T : Any?, reified E : Applier<*>> ReusableComposeNode(
noinline factory: () -> T,
update: @DisallowComposableCalls Updater<T>.() -> Unit,
content: @Composable () -> Unit,
)
Emits a recyclable node into the composition of type T. Nodes emitted inside of content will become children of the emitted node.
This function will throw a runtime exception if E is not a subtype of the applier of the currentComposer.
Parameters
| factory | A function which will create a new instance of T. This function is NOT guaranteed to be called in place. |
| update | A function to perform updates on the node. This will run every time emit is executed. This function is called in place and will be inlined. |
| content | the composable content that will emit the "children" of this node. |
Overload 3
Common
@Composable
@ExplicitGroupsComposable
public inline fun <T, reified E : Applier<*>> ReusableComposeNode(
noinline factory: () -> T,
update: @DisallowComposableCalls Updater<T>.() -> Unit,
noinline skippableUpdate: @Composable SkippableUpdater<T>.() -> Unit,
content: @Composable () -> Unit,
)
Emits a recyclable node into the composition of type T. Nodes emitted inside of content will become children of the emitted node.
This function will throw a runtime exception if E is not a subtype of the applier of the currentComposer.
Parameters
| factory | A function which will create a new instance of T. This function is NOT guaranteed to be called in place. |
| update | A function to perform updates on the node. This will run every time emit is executed. This function is called in place and will be inlined. |
| skippableUpdate | A function to perform updates on the node. Unlike update, this function is Composable and will therefore be skipped unless it has been invalidated by some other mechanism. This can be useful to perform expensive calculations for updating the node where the calculations are likely to have the same inputs over time, so the function's execution can be skipped. |
| content | the composable content that will emit the "children" of this node. |