I tried to have a top component, like this:
... here html for a tab selector that change @table assign
<%= live_component @socket,
CardioDataWeb.DBLive.TableComponent,
id: :main,
table: @table,
sel: @sel
%>
This above component render a
tag with thousands of cells.Now, when I change the @table in the top component, instead of just having 1 single big diff like wrapper.innerHTML = "some big chunk of html" I have thousands and thousands of diffs which takes tens of seconds to be applied. (if I render the HTML normally without live view, rendering in the browser is instant)
My tab selector could be regular links, but I want to keep the state between tab changes.
My use case is some sort of spreadsheet editor. I could use some JS lib, but I tested native HTML rendering, and everything is butter smooth with thousands of rows, browsers are really good at managing large pages and I thought I could leverage this with live view, but live view needs to have minimal diff.


















