Stateful components like
their state in the socket’s
assigns . In
, those assigns are called
In order to declare a data assign, you must use the
data name, type, options
name- is the name of the assign.
type- an atom defining the type of the assign. See all available types in section “Properties > Property types” .
options- a keyword list of options for additional customization.
default- defines a default value for the assign.
values- the list of possible values for the assign.
In the following example, we create a simple
Counter component that has its state
defined by a single assign named
count . You can use the
+ buttons to
decrement/increment the counter’s value.
Note : Since we defined a default value for
count, we don’t need to implement the
mount/1callback to initialize it. All
dataassigns with default values will be automatically initialized by Surface .