It's only when you really try to build something that you uncover assumptions you made and aspects of the task that you don't truly understand. From there you can read further on a topic or try watching a lecture or two on the specific issue you encountered. Otherwise you may spend hours/days/months just passively learning without gaining fundamental understanding.
Eventually, you scrap everything from your first couple of attempts and actually put together a working solution.