Quick start - Qwik
Qwik is resumable - no hydration replay. Use useVisibleTask$ (client only), not useTask$ (runs on server before DOM is visible, gsap.fromTo gets no rect).
Usage - Qwik City page
js
import { component$, useVisibleTask$ } from '@builder.io/qwik'
import { initAnimations } from 'gclass-anims'
export default component$(() => {
useVisibleTask$(() => {
initAnimations()
})
return <div class="appear scroll spawn-up">hello qwik</div>
})Per-page re-init
Qwik City does not replay root - each route component needs its own useVisibleTask$ re-init, same as SvelteKit afterNavigate.
js
// src/routes/about/index.tsx
import { component$, useVisibleTask$ } from '@builder.io/qwik'
import { initAnimations } from 'gclass-anims'
export default component$(() => {
useVisibleTask$(() => initAnimations())
return <div class="spawn-up">about</div>
})