เริ่มต้นใช้งาน · 4 ขั้น

เริ่มต้นใช้งาน

ติดตั้งแพ็กเกจ เรนเดอร์คอมโพเนนต์แรก ส่งข้อมูลของคุณให้คอมโพเนนต์ และเลือกวิธีเคลื่อนไหว ไม่มี provider หรือการตั้งค่าในขั้นใดเลย

  1. ติดตั้ง

    Chorus ต้องใช้ React 19.2 ขึ้นไป ในแอป React Native นั้น React Native เป็น peer ที่ไม่บังคับ และแพ็กเกจเดียวกันจะเลือกบิลด์เนทีฟให้อัตโนมัติ

    npm install @kkwaenggwari/animated-chorus

    ไม่ต้องตั้งค่าอื่น: ไม่ต้องเพิ่ม provider ปลั๊กอิน หรือสไตล์ชีต

  2. คอมโพเนนต์แรกของคุณ

    เรนเดอร์ MotionNumber ด้วยค่าจาก state เปลี่ยน state แล้วตัวเลขจะหมุน กด +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 คืน key ที่คงที่ (ค่าเริ่มต้นคือ 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} />;
    }

    key ต้องไม่ซ้ำ เมื่ออาร์เรย์เปลี่ยน เฉพาะรายการที่เข้า ออก หรือย้ายเท่านั้นที่เคลื่อนไหว

  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 ใช้ import เดียวกันและ props เดียวกัน

ค้นหา

พิมพ์เพื่อค้นหาเอกสาร