Notes from the Html.Keyed
on how keyed works:
A keyed node helps optimize cases where children are getting added, moved, removed, etc. Common examples include:
When you use a keyed node, every child is paired with a string identifier. This makes it possible for the underlying diffing algorithm to reuse nodes more efficiently.
This means if a key is changed between renders, then the diffing step will be skipped and the node will be forced to rerender.
el : List (Element.Attribute msg) -> ( String, Element msg ) -> Element msg
column : List (Element.Attribute msg) -> List ( String, Element msg ) -> Element msg
row : List (Element.Attribute msg) -> List ( String, Element msg ) -> Element msg
wrappedRow : List (Element.Attribute msg) -> List ( String, Element msg ) -> Element msg