During @chrismccord’s Keynote-talk at ElixirConf.EU V yesterday he told us about the new changes and additions that are happening to LiveView.
One important thing he mentioned, is that there will be better diffing-support for deeply-nested states. Previous versions of the LiveView assigns-diffing would not be able to look deeper into the keys of nested maps (and especially inside structs), meaning that code like this:
<div>
<span> <%= @post.author %> </span>
<p> <%= @post.content %> </p>
</div>
would be re-evaluated as a whole every time one of the fields inside assigns.post
would change. This is now (in the newest version on master
; the latest kinks were ironed out during these last couple of days) no longer the case.
So the tl;dr: Deep states will be much better supported going forward, which means that we as developers have more flexibility in the approach we take.