מתחילים · 4 צעדים
מתחילים
התקינו את החבילה, רנדרו את הרכיב הראשון, תנו לרכיב את הנתונים שלכם ובחרו איך הוא זז. בשום צעד אין provider או הגדרה.
התקנה
Chorus דורש React 19.2 ומעלה. באפליקציית React Native, React Native היא תלות peer אופציונלית ואותה חבילה בוחרת אוטומטית את הבנייה הנייטיב שלה.
npm install @kkwaenggwari/animated-chorusאין עוד מה להגדיר: אין provider, תוסף או גיליון סגנונות להוסיף.
הרכיב הראשון שלכם
רנדרו את
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בהגדרות: ספרות שהשתנו עוברות דרך הספרות שבאמצע.תנו לו את הנתונים שלכם
רכיבים שמציגים כמה דברים מקבלים מערך.
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} />; }המפתחות חייבים להיות ייחודיים. כשהמערך משתנה, רק הפריטים שנכנסו, יצאו או זזו מונפשים.
בחרו איך הוא זז
כל רכיב מקבל
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.
זו כל ההגדרה
כל השאר זה לבחור רכיבים. לכל אחד יש שולחן עבודה שבו אפשר לכוונן אותו לפני שמעתיקים את הקוד.