IMHO like most (modern) programming languages and frameworks, you'll be up and running in a couple days. That is, you'll have no idea what you're doing, but you'll start recognizing small patterns and structures, and you'll be able to start tinkering.
That tinkering phase lasts quite awhile. If you're doing it fulltime let's say a few months. Almost everything with look like gibberish or hieroglyphs to you. But knowing what 1 piece of code means, will lead you to 2 pieces, 3 pieces etc. Over a few months those hieroglyphs will start to look like actual language to you. Tinker tinker tinker. You'll get there little by little.
After a few months you're dangerous. I say dangerous because at this point you'll be confident and you'll think that you know what you're doing. You still wont, but people might even start asking you for advice. I've taken work in this phase. Believe it or not, you're hireable at this point. (For better or worse).
For me, the only true way to become competent is to work on a team. You need to start working-on (and shipping) products with devs who are much more senior than you, who will take you under their wing. After 1 year of that, you're competent.
Now keep in mind, competent isn't good. Competent is just a satisfactory level of literacy. You won't understand any theory at this point, just practice. You won't know why anything does what it does, but you'll know how to complete a task that is assigned to you. And hopefully you'll know where to go to get answers to your questions. You'll still be a long way from good. If you wanna be good, that takes time, but more importantly a devotion to your craft.