So we agree, you're just separating the concept from the implementation and I'm talking about them as one.
In React, components are not just functions that return their own virtual DOM. AFAIK for many vdom-based libraries this statement wouldn't be true.
React components may have local state (as much as some people hate it, some find it useful), they have a lifecycle, can react to receiving new props with side effects, can implement diff bail-out hook. And you can nest such components declaratively.
And declarative nesting is a feature of all of the frameworks I've come across, I'm not sure why you think that's unique to React. The advantage feature I would credit React for is the size of its community and influential advocates like you.
Declarative nesting of lifecycle-ful and stateful components without going full FRP.
I'm actually excited to learn about other frameworks that do this! Which do you have in mind?
If you are interested in academics, I published such a system at ECOOP in 2006:
http://research.microsoft.com/pubs/179366/mcdirmid06superglu...
Separating `props` and `state`, component boundaries, lack of two-way binding and predictable top-down data flow make it easy to reason about where any data comes from, and how UI will change over time.
Read this:
http://jlongster.com/Removing-User-Interface-Complexity,-or-...