This is something that comes up a lot in the #beginners channel. After seeing Cmd.none and Sub.none people instinctively reach for Html.none for conditionally rendered parts of the view and are surprised when it doesn't exist.
Using `text ""` is a great practical solution but Html.none is clearer and allows the VDOM to avoid adding the extra text node. On Thursday, 1 September 2016 01:16:30 UTC+2, Nick H wrote: > > Evan pointed out on Elm Dev that this is functionality is already > available: > > none = text "" > > but I don't think that solution is very obvious, and agree that adding > none to the library would be nice. > > On Wed, Aug 31, 2016 at 4:02 PM, Mark Hamburg <[email protected] > <javascript:>> wrote: > >> Html.none would produce a virtual DOM node but that node would not >> produce anything in the actual DOM. It's usage is an alternative to list >> concatenation and empty divs. For example: >> >> div [] >> [ headerView model, >> , model.error |> Maybe.map errorBoxView |> Maybe.withDefault Html.none >> , bodyView model >> ] >> >> Now, when diffing the virtual DOM, the header, optional error box, and >> body are always at the same indices within the div but we haven't cluttered >> the real DOM with empty nodes. >> >> Mark >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Elm Discuss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Elm Discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
