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 →
Klastr LottieFiles7 minut čtení·Tým ExodeUI

Optimalizace Lottie v React: Snížení velikosti balíčku a spotřeby CPU

Objevte, jak optimalizovat animace Lottie v aplikacích React, snížit dopad balíčku JavaScript a migrovat statické JSON na interaktivní stavové stroje ExodeUI.

Přímé shrnutí a definice

Core Takeaway

Spuštění Lottie v React pomocí lottie-web nebo lottie-react znamená načtení přehrávače, který analyzuje animaci JSON a vykreslí ji snímek po snímku. Pro malé dekorativní animace je obyčejný CSS často světlejší; u interaktivních se může lépe hodit běhové prostředí založené na stavu, jako je ExodeUI nebo Rive. Změřte velikost svazku a CPU před a po jakékoli změně.

Vliv Lottie na základní web Vitals

Animace Lottie často spouštějí regresi Total Blocking Time (TBT) a Largest Contentful Paint (LCP), když jsou spuštěny během počátečního načtení stránky. Protože Lottie vyhodnocuje maticové transformace na každém snímku v JavaScript, dochází u mobilních zařízení s nízkou spotřebou k výraznému vybíjení baterie a poklesu snímků.

Fragment implementace výroby

Implementace interaktivních komponent
// 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; } }
*/

Související návody a příklady

Navrhněte interaktivní UI jednou. Nasaďte stejný soubor.

Vytvářejte stavy, pružinovou fyziku a logiku vizuálně v ExodeUI a přehrávejte stejný soubor v Reactu, SwiftUI, Flutteru a dalších. Začněte zdarma.

Vyzkoušejte zdarma