I've been playing with React for the past couple months and I have to say, I really like it a lot. There are a few trade-offs.
- React is practical if you're in a major city like SF, NYC, Boston and are looking for a job (a lot of the Silicon Valley startups, like ProductHunt are switching to it).
- Angular might be more practical if you're looking for work outside a major start-up hub (more enterprises / big companies will probably use Angular for the next year or so).
But. If you're just looking to to learn something for yourself / personal project / etc. I think React is amazing.
- It's a lot more performant than any of the other frameworks.
- Other frameworks are adopting a lot of the principles behind React, so learning Angular 2 / Ember afterwards would probably be easier.
- Everyone talks about the "virtual DOM", and things like React Native (the cool stuff to talk about), but in all practicality there is one big idea (uni-directional-dataflow), that is simple and powerful and will keep you using it.
- IMO redux is much better than Facebook's implementation of Flux (the open source developer that "built it on accident" got hired by Facebook to work on the React team).
- Using ExpressJS you can render the HTML on the server side (the initial state of the page) pretty easily. This is useful for SEO and for users to immediately have a good experience when they land on your site (not wait for client-side JS to execute for the DOM to populate).
I could be wrong, but I'm not sure how "ready" react native is for prime-time. If I were you I would assume that it's a year or two out from being practical for using it. Honestly, it probably would be easier to learn Swift or Java and Android than React Native, since there are more resources for how to use it. I wouldn't look at it as a "two-birds-one-stone" type mentality, more like a "two-birds-two-stones" one.
If you do learn react, download and install the Google Chrome Extension for it. The extension adds a tab to the Google Chrome Dev Tools. Here are some free resources you can use to learn it:
Facebook's React Tutorial: https://facebook.github.io/react/docs/tutorial.html
Dan Abramov (the creator of Redux)'s Guide To Redux: https://egghead.io/series/getting-started-with-redux
It took me a while to get a good webpack config for production (dealing with images, sass, etc). I made a yeoman generator that sets up a base react application with webpack, redux, etc.
One more piece of advice: if you do use redux, there is a package redux-form, that makes forms SO MUCH easier than using the typical "ref" style form working.
One thing that helped me out quite a bit was a buddy of mine was good at it explained the concepts I didn't get to me.
Anyway, that's what I wish I knew when I was starting learning React (most of this I got through asking my friend questions). Having said that, it may be more practical learning Angular. There are definitely more resources to learn it and more questions asked on StackOverflow (making Google more helpful) and there are probably more job opportunities for it (unless you're in SF/NYC or Boston).
Maybe learn both!