EXAMPLES

A list of fruits

func FruitList() Node {
    fruits, setFruits := Signal([]string{"banana", "apple", "orange"})

    return Box(
        For(
            fruits,
            func(fruit Accessor[string], index Accessor[int]) Node {
                return P(BindText(fruit))
            },
        ),
    )
}
func FruitList() Node {
    fruits, setFruits := Signal([]string{"banana", "apple", "orange"})

    return Ul(
        For(
            fruits,
            func(fruit Accessor[string], index Accessor[int]) Node {
                return Li(BindText(fruit))
            },
        ),
    )
}

Taking user input

func UserInput() Node {
    value, setValue := Signal("")

    update := func(e *EventInput) {
        setInput(e.InputValue())
    }

    return Box(
        P(Text("Value: "), BindText(value)),

        Input(On("input", udpate)),
    )
}
func UserInput() Node {
    value, setValue := Signal("")

    update := func(e *EventInput) {
        setInput(e.InputValue())
    }

    return Div(
        P(Text("Value: "), BindText(value)),

        Input(
            Attr("type", "text"),
            BindAttr("value", input),
            On("input", udpate),
        ),
    )
}