Bắt đầu · 4 bước
Bắt đầu
Cài gói, render component đầu tiên, đưa dữ liệu của bạn cho component và chọn cách nó chuyển động. Không có provider hay thiết lập ở bước nào.
Cài đặt
Chorus cần React 19.2 trở lên. Trong ứng dụng React Native, React Native là peer tùy chọn và cùng gói đó tự chọn bản build native.
npm install @kkwaenggwari/animated-chorusKhông cần cấu hình gì thêm: không có provider, plugin hay stylesheet nào phải thêm.
Component đầu tiên của bạn
Render
MotionNumbervới một giá trị từ state. Đổi state và con số sẽ cuộn. Nhấn+1, rồi×10để xem một chữ số mới cuộn vào.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> ); }Đang chuẩn bị ví dụ…
Chuyển
modesangrolltrong cài đặt: các chữ số thay đổi sẽ đi qua những chữ số ở giữa.Đưa dữ liệu của bạn
Component hiển thị nhiều thứ sẽ nhận một mảng.
itemslà dữ liệu của bạn,getKeytrả về key ổn định (mặc địnhitem.id, hoặc chính mục đó với chuỗi và số), vàrenderItemvẽ từng mục. Component render và đo các phần tử mục cho bạn.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 phải là duy nhất. Khi mảng thay đổi, chỉ các mục vào, ra hoặc dời chỗ mới có hoạt ảnh.
Chọn cách chuyển động
Mọi component đều nhận
transition: một đường cong timing hoặc lò xo.motionTokenscó sẵn vài cấu hình, và lò xo códurationđược hiệu chỉnh để kết thúc đúng lúc đó.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 dùng cùng import và cùng props.
Toàn bộ thiết lập chỉ có vậy
Phần còn lại là chọn component. Mỗi cái có một bàn làm việc để bạn tinh chỉnh trước khi sao chép mã.