Having a virtual dom is the whole point of react, and it's definitely still a work in progress. However to say react sucks because it's not reactive programming has more to do with the name than the intent of the library. In my opinion a virtual dom /should/ be reactive and how you handle your components around that is irrelevant.
More to the discussion, though, the idea of separating views and renderers is really interesting to me and if done right could greatly improve render performance.