Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →
LottieFiles klaszter7 perc olvasás·Az ExodeUI csapata

A Lottie optimalizálása a React-ben: a csomag méretének és a CPU-fogyasztás csökkentése

Fedezze fel, hogyan optimalizálhatja a Lottie animációkat a React alkalmazásokban, hogyan csökkentheti a JavaScript köteg hatását, és hogyan migrálhatja a statikus JSON-eket interaktív ExodeUI állapotú gépekre.

Közvetlen összefoglalás és meghatározás

Core Takeaway

A Lottie futtatása a React-ben lottie-web vagy lottie-react használatával azt jelenti, hogy be kell tölteni egy lejátszót, amely elemzi a JSON animációt, és képkockánként rendereli azt. Kisebb dekoratív animációkhoz a sima CSS gyakran világosabb; az interaktívakhoz jobban passzolhat egy állapotalapú futási környezet, mint például a ExodeUI vagy a Rive. Mérje meg a köteg méretét és a CPU-t minden változtatás előtt és után.

A Lottie alapvető webes vitals hatása

A Lottie animációk gyakran aktiválják a teljes blokkolási időt (TBT) és a legnagyobb tartalmi festési (LCP) regressziót, amikor végrehajtják a kezdeti oldalbetöltés során. Mivel a Lottie a JavaScript minden képkockáján kiértékeli a mátrixtranszformációkat, az alacsony fogyasztású mobileszközök jelentős akkumulátor-lemerülést és keretesést szenvednek.

Gyártási megvalósítási részlet

Interaktív komponensek megvalósítása
// A small decorative "like" pop in plain CSS instead of a Lottie file.
// No player needed; measure your own bundle and CPU before and after.
export function LikeHeart({ active }) {
  return (
    <svg className={active ? 'heart heart--active' : 'heart'} viewBox="0 0 24 24" aria-hidden="true">
      <path d="M12 21s-7-4.4-9.3-8.6C1 9.2 3 5.5 6.6 5.5c2 0 3.4 1.1 4.4 2.5 1-1.4 2.4-2.5 4.4-2.5 3.6 0 5.6 3.7 3.9 6.9C19 16.6 12 21 12 21z" />
    </svg>
  );
}

/* CSS
.heart { fill: #ccc; transition: fill 150ms; }
.heart--active { fill: #ff4a1c; animation: pop 320ms cubic-bezier(.2,1.6,.4,1); }
@keyframes pop { 0% { transform: scale(1); } 50% { transform: scale(1.25); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .heart--active { animation: none; } }
*/

Kapcsolódó útmutatók és példák

Tervezd meg egyszer az interaktív UI-t. Ugyanazt a fájlt szállítsd.

Készíts állapotokat, rugófizikát és logikát vizuálisan az ExodeUI-ban, és játszd le ugyanazt a fájlt Reactben, SwiftUI-ban, Flutterben és máshol. Kezdd ingyen.

Próbáld ki ingyen