i know it's passé to pick on react, i'm still not sure how i feel about it
in theory a virtual dom gives a canonical place for state, and immediate rendering via reconciliation means no classical state sync errors
but in practice, as dom elements are routinely created and disposed of, there's a whole new class of state sync issues where items lose state that isn't carried in the virtual dom
on the other hand, mutating dom even with data flow/binding, can be a complete pain in the ass