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 →
Klaster LottieFiles7 minút čítania·Tím ExodeUI

Optimalizácia Lottie v React: Zníženie veľkosti balíka a spotreby CPU

Zistite, ako optimalizovať animácie Lottie v aplikáciách React, znížiť vplyv balíka JavaScript a migrovať statické JSON na interaktívne stavové stroje ExodeUI.

Priame zhrnutie a definícia

Core Takeaway

Spustenie Lottie v React pomocou lottie-web alebo lottie-react znamená načítanie prehrávača, ktorý analyzuje animáciu JSON a vykreslí ju snímku po snímke. Pre malé dekoratívne animácie je obyčajná CSS často svetlejšia; pre interaktívne sa môže lepšie hodiť runtime založený na stave, ako napríklad ExodeUI alebo Rive. Zmerajte veľkosť balíka a CPU pred a po akejkoľvek zmene.

Vplyv základných funkcií webu Lottie

Animácie Lottie často spúšťajú regresie celkového času blokovania (TBT) a najväčšieho obsahu (LCP), keď sa spustia počas úvodného načítania stránky. Pretože Lottie vyhodnocuje transformácie matice na každom snímku v JavaScript, mobilné zariadenia s nízkou spotrebou energie trpia výrazným vybíjaním batérie a poklesom snímok.

Snippet implementácie výroby

Implementácia interaktívnych komponentov
// 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; } }
*/

Súvisiace príručky a príklady

Navrhnite interaktívne UI raz. Nasaďte rovnaký súbor.

Vytvárajte stavy, pružinovú fyziku a logiku vizuálne v ExodeUI a prehrávajte rovnaký súbor v Reacte, SwiftUI, Flutteri a ďalších. Začnite zadarmo.

Vyskúšajte zadarmo