React Academy · Lektion

React Spring-grunder: useSpring-hooken

Animera värden med useSpring – konfigurera spänning, friktion och massa för naturliga rörelser.

Lektion 1 av 413 steg

React Spring-grunder: useSpring-hooken är en gratis lektion i React Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för React Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i React Academy innehåller totalt 4 lektioner.

Springfysik jämfört med tidsbaserad animering

Traditionella CSS-animeringar använder en fast tidslängd: animeringen pågår i X millisekunder och stannar sedan. react-spring animerar värden med hjälp av springfysik — animeringen styrs av tension (fjäderns styvhet) och friction (hur mycket fjädern motstår rörelse). Det ger en naturligt avtagande rörelse som känns organisk.

Grundläggande användning av useSpring

Hooken useSpring({ from, to }) definierar ett animerat värde. Ni anger startvärden i from och målvärden i to. useSpring returnerar ett springs-objekt där varje nyckel är ett SpringValue — en animerad variant av motsvarande numeriska värde eller färgvärde.

Konfiguration av spring: tension och friction

Alternativet config styr spring-beteendet. tension (standardvärde 170) styr styvheten — högre värden gör att animeringen snäpper tillbaka snabbare. friction (standardvärde 26) styr dämpningen — lägre värden ger mer studs. mass (standardvärde 1) tillför tröghet. Tillsammans definierar dessa tre värden animeringens karaktär.

Förinställda konfigurationer

react-spring levereras med förinställda konfigurationer som ni kan använda utan att finjustera dem: config.default är balanserad och allmänt användbar, config.gentle är långsam och mjuk, config.wobbly studsar med låg friktion, config.stiff är snabb och snärtig och config.slow är mycket gradvis. Importera dem från react-spring.

SpringValue-objekt

Värdena som returneras av useSpring är SpringValue-objekt, inte vanliga tal. Du kan inte rendera dem direkt i JSX eller använda dem i vanliga style-objekt. De måste tillämpas på animated.*-komponenter som vet hur de ska prenumerera på springuppdateringar och tillämpa dem effektivt på DOM:en.

immediate: Hoppa över animering

När immediate: true skickas till useSpring hoppar värdena direkt till sina målvärden och springanimeringen förbigås. Detta är användbart vid den första renderingen, när användaren har aktiverat "minska rörelse" i operativsystemets inställningar eller när du behöver återställa positionen programmässigt utan någon visuell rörelse.

Vända en springanimering

Du kan vända en springanimering genom att växla vilka värden som finns i from och to. Ett vanligt mönster är att lagra ett booleskt växlingstillstånd och beräkna from/to utifrån det: när toggle är false animerar du från 0 till 1, och när det är true animerar du från 1 till 0. react-spring gör en mjuk övergång mellan tillstånden.

Imperativt API: api.start()

useSpring kan returnera en array med två element: const [springs, api] = useSpring(() => ({ from: { x: 0 } })). Objektet api ger dig programmatisk kontroll. Anropa api.start({ x: 100 }) för att animera till ett nytt värde, api.stop() för att frysa animeringen och api.set({ x: 50 }) för att hoppa till värdet utan animering.

När deklarativt respektive imperativt ska användas

Använd den deklarativa formen useSpring({ from, to }) när animeringen beror på React-tillstånd som ändras på vanligt sätt. Använd den imperativa formen med api.start() när du behöver utlösa animeringar från händelsehanterare, gester eller asynkrona åtgärder utan att orsaka omrenderingar i React.

Händelse-callbacks för springanimeringar

useSpring accepterar livscykel-callbacks i sin konfiguration. onStart körs när springanimeringen börjar. onChange körs vid varje bildruta med det aktuella värdet och är användbart för bieffekter som följer positionen. onRest körs när springanimeringen har stabiliserats vid sitt slutliga värde, vilket signalerar att animeringen är klar.

Köra om springanimeringar vid tillståndsändring

I den deklarativa formen kör useSpring automatiskt om animeringen när värdena som skickas till den ändras. Exempelvis animerar useSpring({ opacity: isVisible ? 1 : 0 }) opaciteten varje gång isVisible ändras. Detta är det enklaste sättet att koppla springanimeringar till komponentens tillstånd.

Parametrar för springfysik

Vad styr tension och friction i react-springs config?

Lektionssammanfattning: grunderna i useSpring

react-spring animerar med fysik: tension (styvhet), friction (dämpning) och mass definierar rörelsen. useSpring({ from, to }) returnerar SpringValue-objekt som tillämpas på animated.*-komponenter. Förinställda konfigurationer (gentle, wobbly, stiff, slow) täcker vanliga användningsfall. Det imperativa API:et [springs, api] möjliggör programmatisk kontroll via api.start(), api.stop() och api.set(). onRest körs när animeringen har stabiliserats.

Gratis att börja

Lär dig React med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
88
Lektioner
324

Vanliga frågor

Är lektionen ”React Spring-grunder: useSpring-hooken” gratis?

Ja – hela texten till ”React Spring-grunder: useSpring-hooken” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i React Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i React Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”React Spring-grunder: useSpring-hooken”?

Animera värden med useSpring – konfigurera spänning, friktion och massa för naturliga rörelser. Ni övar på React Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig React Academy?

Du behöver inga förkunskaper. Utbildningen i React Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”React Spring-grunder: useSpring-hooken”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här React Academy-lektionen?

Ja. Varje React Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. React Spring-grunder: useSpring-hooken
  2. Animerade komponenter och stilinterpolation
  3. useTrail och useChain för sekvenser
  4. Geststyrda animationer med use-gesture
← Tillbaka till React Academy