מתחילים · 4 צעדים

מתחילים

התקינו את החבילה, רנדרו את הרכיב הראשון, תנו לרכיב את הנתונים שלכם ובחרו איך הוא זז. בשום צעד אין provider או הגדרה.

  1. התקנה

    Chorus דורש React 19.2 ומעלה. באפליקציית React Native, React Native היא תלות peer אופציונלית ואותה חבילה בוחרת אוטומטית את הבנייה הנייטיב שלה.

    npm install @kkwaenggwari/animated-chorus

    אין עוד מה להגדיר: אין provider, תוסף או גיליון סגנונות להוסיף.

  2. הרכיב הראשון שלכם

    רנדרו את MotionNumber עם ערך מהמצב. שנו את המצב והמספר מתגלגל. לחצו +1 ואז ×10 כדי לראות ספרה חדשה מתגלגלת פנימה.

    App.jsx
    import { useState } from 'react';
    import { MotionNumber } from '@kkwaenggwari/animated-chorus';
    
    export default function App() {
      const [count, setCount] = useState(9);
      return (
        <button onClick={() => setCount(count + 1)}>
          <MotionNumber value={count} />
        </button>
      );
    }

    מכין את הדוגמה…

    החליפו את mode ל־roll בהגדרות: ספרות שהשתנו עוברות דרך הספרות שבאמצע.

  3. תנו לו את הנתונים שלכם

    רכיבים שמציגים כמה דברים מקבלים מערך. items הם הנתונים שלכם, getKey מחזיר מפתח יציב (כברירת מחדל item.id, או הפריט עצמו למחרוזות ולמספרים), ו־renderItem מצייר כל פריט. הרכיב מרנדר ומודד את אלמנטי הפריטים בשבילכם.

    Tabs.jsx
    import { MotionHighlight } from '@kkwaenggwari/animated-chorus';
    
    const tabs = [
      { id: 'overview', label: 'Overview' },
      { id: 'activity', label: 'Activity' },
    ];
    
    export function Tabs({ tab, setTab }) {
      // Keys come from item.id; labels from item.label, or renderItem.
      return <MotionHighlight items={tabs} value={tab} onValueChange={setTab} />;
    }

    המפתחות חייבים להיות ייחודיים. כשהמערך משתנה, רק הפריטים שנכנסו, יצאו או זזו מונפשים.

  4. בחרו איך הוא זז

    כל רכיב מקבל transition: עקומת timing או קפיץ. motionTokens מציע כמה הגדרות מוכנות, וקפיץ עם duration מכויל להסתיים בדיוק אז.

    Panel.jsx
    import { MotionHeight, motionTokens } from '@kkwaenggwari/animated-chorus';
    
    <MotionHeight open={open} transition={motionTokens.spring.gentle}>…</MotionHeight>
    <MotionHeight open={open} transition={{ duration: 300, easing: 'easeOut' }}>…</MotionHeight>
    <MotionHeight open={open} transition={{ tempo: 'spring', spring: { stiffness: 300, damping: 30 }, duration: 500 }}>…</MotionHeight>

    React Native משתמש באותו ייבוא ובאותם props.

חיפוש

הקלידו כדי לחפש בתיעוד.