I am designing a Meteor application. In one of the views I have a large grid which is populated from one Collection. Now the user is supposed to mark cells in this grid, choose a value for them, and then Save. (Just ignore the purpose of the application).
The problem I have, is that when the user hit “Save” then the document in the Collection is updated for the marked cell/cells. This changes the underlying Collection which in turn triggers a full rerender of the page since it is reactive upon it (and it should be). However, it is only one of the cells in the Collection that is actually modified so perhaps one should modify how the view is built up by creating a reactive variable for each cell and then setup observables for the collection. By doing that I could limit the change to a specific cell.
The underlying problem is that when the user hit Save, it takes some time before the Client actually detects that the collection has beed changed and the view is rerendered. In that time, the user might have marked some new cells and when the view is re-rendered that selection is gone. Ofcourse there are seperate ways to handle that concern.
But my question is if there are any best practices for designing this kind of view and limiting reactive scopes to avoid a full rerender? Are there any specific performance aspects that I should consider? I dont what the user to see the view flicker.