Updater
public value class Updater<T> constructor(@PublishedApi internal val composer: Composer)
A helper receiver scope class used by ComposeNode
to help write code to initialized and update
a node.
Functions
public inline fun set(value: Int, noinline block: T.(value: Int) -> Unit): Unit
Set the value property of the emitted node.
Schedules block
to be run when the node is first created or when value
is different than
the previous composition.
public fun <V> set(value: V, block: T.(value: V) -> Unit): Unit
Set the value property of the emitted node.
Schedules block
to be run when the node is first created or when value
is different than
the previous composition.
public inline fun update(value: Int, noinline block: T.(value: Int) -> Unit): Unit
Update the value of a property of the emitted node.
Schedules block
to be run when value
is different than the previous composition. It is
different than set
in that it does not run when the node is created. This is used when
initial value set by the ComposeNode
in the constructor callback already has the correct
value. For example, use update} when
value` is passed into of the classes constructor
parameters.
public fun <V> update(value: V, block: T.(value: V) -> Unit): Unit
Update the value of a property of the emitted node.
Schedules block
to be run when value
is different than the previous composition. It is
different than set
in that it does not run when the node is created. This is used when
initial value set by the ComposeNode
in the constructor callback already has the correct
value. For example, use update} when
value` is passed into of the classes constructor
parameters.
public fun init(block: T.() -> Unit)
Initialize emitted node.
Schedule block
to be executed after the node is created.
This is only executed once. The can be used to call a method or set a value on a node instance that is required to be set after one or more other properties have been set.
public fun reconcile(block: T.() -> Unit)
Reconcile the node to the current state.
This is used when set
and update
are insufficient to update the state of the node based
on changes passed to the function calling ComposeNode
.
Schedules block
to execute. As this unconditionally schedules block
to executed it might
be executed unnecessarily as no effort is taken to ensure it only executes when the values
block
captures have changed. It is highly recommended that set
and update
be used
instead as they will only schedule their blocks to executed when the value passed to them has
changed.