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.WithContext.Attribute context msg) -> ( String, Element.WithContext.Element context msg ) -> Element.WithContext.Element context msg
column : List (Element.WithContext.Attribute context msg) -> List ( String, Element.WithContext.Element context msg ) -> Element.WithContext.Element context msg
row : List (Element.WithContext.Attribute context msg) -> List ( String, Element.WithContext.Element context msg ) -> Element.WithContext.Element context msg