JSX is XML and it can cause some confusion. For instance the fact that you can only have one root node is not obvious.
As someone who has only begun to feel out React/JSX after developing some large, semi-complex enterprise UI's in Angular (with the respective back-end, usually an abstracted REST API) I'm finding the React model to be a lot more intuitive and scalable.
Angular is fantastic until you run up against problems with complex tasks that either must run outside of the digest loop or require manual control of painting/rendering to compensate for the abysmal binding performance.
<component /> should not render multiple root nodes.
return <h2>label</h2><SubComponent />;
That's illegal and will fail to compile and it's not obvious why that should happen.