For me the best asset of React is not having to manipulate the DOM directly with jQuery, which in my experience leads to code that injects DOM elements from everywhere making it very difficult to maintain.
This is certainly not a replacement.
This is certainly not a replacement.
Regardless of which library you use there is nothing preventing you from injecting DOM elements from everywhere. Only discipline can prevent that.
React doesn't require you to ever manually replace a component - that's why the two are not comparable.
Event system is already supported by DOM. React doesn't add anything there. Component lifecycle is also not compelling.