Fastest way I learned was to rewrite an app I was intimately familiar with in the new tech.

e.g. I wanted to move from Flutter and Firebase to Fullstack JS. So I rewrote a 20k lines app in NextJS ( typescript and everything I wanted to try out ).

Not the best way to go if all you want to learn is 1 piece of technology though.

This is the approach I've settled on too.

I'm almost finished my first backend implementation of https://github.com/gothinkster/realworld and now that I've implemented it once I'm very familiar with it and could very quickly implement it again.

It's simple enough to be a short project, but with enough complexity to get you familiar with a wide variety of things you might care to know. One thing I like about it is you can kind of under or over engineer it as much as you want as a way to turn the dial either up or down on exactly how many different aspects of development in a certain language/framework it exposes you to.