I was mostly working on React and ClojureScript in the past years. We have Redux and immutable data structure for states manaments, we have React Components for reusing UI, and quite some theories and libraries for learning. Plus many news sources around the community sharing new practices on React and JavaScript.
You should also realize that three.js is a 3D library. That means you should have at least basic skills in computer graphics and the related math. Otherwise you just copy/paste code snippets and don’t understand what’s actually happen. Or your application has a bad performance and you don’t know why.
So apart from the mention resources you should have a look at some literature in this area. One of the best books about 3D graphics is:
The quite fast sequence of revisions is a general problem when entering three.js.
When searching the web, beginners will find many very old pages among the top results.
When I did my first research in September 2016, the Stemkoski examples were already out of date. But even now you can find them far at the beginning. However, there is still some relevant information for beginners.
But as a newbie, it’s easy to fall for things that have changed fundamentally. And Migration Guide is not suitable for newcomers. The Deprecated API List is also difficult for beginners to understand.
For what it’s worth, I think A-Frame (https://aframe.io/) is a nice onramp into three.js for those who aren’t as familiar with 3D graphics or linear algebra. It is a declarative library on top of three.js, with many “components” encapsulating common bits of three.js logic. When you eventually need to write your own components, it’s mostly normal three.js code: