เริ่มต้นใช้งาน · 4 ขั้น
เริ่มต้นใช้งาน
ติดตั้งแพ็กเกจ เรนเดอร์คอมโพเนนต์แรก ส่งข้อมูลของคุณให้คอมโพเนนต์ และเลือกวิธีเคลื่อนไหว ไม่มี provider หรือการตั้งค่าในขั้นใดเลย
ติดตั้ง
Chorus ต้องใช้ React 19.2 ขึ้นไป ในแอป React Native นั้น React Native เป็น peer ที่ไม่บังคับ และแพ็กเกจเดียวกันจะเลือกบิลด์เนทีฟให้อัตโนมัติ
npm install @kkwaenggwari/animated-chorusไม่ต้องตั้งค่าอื่น: ไม่ต้องเพิ่ม provider ปลั๊กอิน หรือสไตล์ชีต
คอมโพเนนต์แรกของคุณ
เรนเดอร์
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ในการตั้งค่า: หลักที่เปลี่ยนจะผ่านตัวเลขที่อยู่ระหว่างกลางส่งข้อมูลของคุณ
คอมโพเนนต์ที่แสดงหลายสิ่งจะรับอาร์เรย์
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 ต้องไม่ซ้ำ เมื่ออาร์เรย์เปลี่ยน เฉพาะรายการที่เข้า ออก หรือย้ายเท่านั้นที่เคลื่อนไหว
เลือกวิธีเคลื่อนไหว
ทุกคอมโพเนนต์รับ
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 เดียวกัน
การตั้งค่าทั้งหมดมีเท่านี้
ที่เหลือคือการเลือกคอมโพเนนต์ แต่ละตัวมีโต๊ะทำงานให้ปรับแต่งก่อนคัดลอกโค้ด