I've never learned any programming language / framework with a step-by-step component learning. I usually grab a simple task ( make a todo app, make a hello world, etc. ) and do it.
Funny enough I've worked with and know almost all of the yellow circles on this diagram only because I needed them at some point.