It's really nice once you get used to it, though. It feels like way less effort to make components than with the other frameworks, especially when the components are small.
I'm currently trying Alpine.js with Astro and I like it better than using frameworks with their dedicated flavor of JSX or templates. With Alpine.js, I can just put all the reactive code in my Astro templates.
Only using framework components instead of Astro templates would've been an option, too, but I like Astro templates way more than all the other options.