Another smart / dumb difference you can make is with components that return Effects and those that don't. But to answer your question ...
Nothing prevents you from defining actions in a child
type Action = Submit | Click
and in the parent view having
Child.view (Signal.forwardTo address ChildAction) props
(We transmit props because there is no model data as such for the transition)
but then processing all the actions in the parent update :
case action of ChildAction act -> case act of Child.Submit -> ... Child.Click -> ...
This would be significant if the effect of the action in the Child was to change the state of the parent or other child.
source share