It makes me sad looking at apps made with React.  I am currently using Knockout.js and Router.js which is working out very well.  I like that your code is concerned with maintaining the state of the VM, not rendering the view.<p>What is gained by building an app in React, and are there certain scenarios where it really shines?