Coming from an Angular background, the thing that helped me immensely in learning React was learning Vue and vuex first. Vue is simpler (to learn that is; not necessarily true in terms of real world code..) but conceptually similar to React, which helped to bridge the divide between Angular and React. As a bit of a bonus I'm now familiar with three frameworks instead of one.
+1 for learning Vue. I also went from Angular to Vue (skipping React outright). Looking at React component code almost looks like Vue stuff...I was surprised I was instantly understanding another framework (React).
This article, so many, isn't about learning React, it's about learning to build a basic component. If all you want to build is a non-persistent to do list, it's great. If your goal is "Learning React.js" (in other words, be able to build apps) I feel you aren't even getting started until you start address pulling in data from external sources.
I don't think learning React is analogous to learning to build client server apps any more than jQuery is. I personally have worked on many static React websites (which is a blast by the way).
Interesting, I wouldn't think that would be a common use case. Were the websites totally static, or were they inside of another app that actually handled the dynamic bits?
React is good for completely static sites. ReactDOMServer.renderToStaticMarkup() is a lovely way to use components to orchestrate a static site even if you need data from external sources using Flux or alt.js or something. If you know React well you can do anything you'd do in Jekyll or Hexo quite easily.