It's understandable. Nobody wants to waste time doing the wrong thing. However, focusing too much time trying to decide what the best learning resource is can lead you to analysis paralysis. And that is a waste of time.
The best thing you can do is to look for free resources (thankfully there are many of them online) and just try them out. If you don't feel comfortable with a learning approach, just try something else until you find the best learning approach for you.
The good thing is, once you find what your preferred learning approach is, you'll know what to look for the next time you decide to learn something new.
It's very important to point out that if you have serious problems while learning, it doesn't mean that you're too "stupid" to be a programmer, that's BS. (If anything, I've met quite a few stupid developers 😅)
That may just mean that you should try a different learning method.
However, there's this one thing that every beginner should do while learning a new language: practice. Coding is a skill, and you only develop that skill by practising. Building your own projects will help you internalise what you see in the courses, lessons, guides, etc.
I've written an article about project ideas if you're interested.
In summary, stop looking for the "best" way, choose a method and go for it! If it doesn't work, you can always try something different.