We are all learning, all the time and this is especially true in development as the landscape constantly shifts and changes, reacting to newly released libraries and languages.
I find that this is the hardest part. I needed a way to get the knowledge into my head (and stay there) as fast as possible, so I can build on that when the next new thing came along.
In my case, I needed to move on from .net framework and onto .net core, knowing that Blazor was on the horizon and fast approaching. The cliche "Practice, practice, practice" is a cliche for good reason - it is overused, but not without solid reasoning.
If you can learn one thing, no matter how big or small and practice using it until it becomes part of your development repertoire, without you even having to think (too much) about it, you will start to build on that small thing until it becomes a big thing. The best way to practice? Doing it.
Side projects son't have to be giant, multi multifaceted applications with perfect UI's or with a well thought out UX - unless of course a well thought out UX is what you're trying to achieve - they can be tiny modular things which are designed to solve an imaginary problem using the solution your currently learning. And yes, more than likely you will end up with a commit history running into pages and pages as you experiment and try different things and that's ok! Learning new things isn't just about finding out what does work but what doesn't as well, and in the safety of a side project you can do whatever you like!
Go on... practice.