99% of the time, I've found the official documentation of the language/framework to be enough to grasp most of what's needed so my method is getting down to writing code, keeping the docs close by for reference, and refactoring upon new features learned.
It's worked for me every time, except for C++ and Java, the basics of both of them I was taught in class.