คอมโพเนนต์ทั้งหมด
MotionPager
หน้าที่ปัดได้จากข้อมูล: ออนบอร์ดดิง แครูเซล และแผงแท็บ
เว็บReact Nativeการเลือกและการแบ่งหน้า
ลองดู
การใช้งานที่สั้นที่สุด
Onboarding.jsx<MotionPager
items={slides}
index={page}
onIndexChange={setPage}
gap={16}
renderItem={(slide) => <Slide slide={slide} />}
/>;
สิ่งที่มันจัดการให้คุณ
- หน้าตามการปัดและการลากเมาส์ มีแรงต้านเมื่อเลยปลายทั้งสองด้าน และหยุดตามความเร็วที่คุณปล่อย
- การสะบัดพลิกหน้าเสมอ และท่าทางเดียวไม่เคยพลิกเกินหนึ่งหน้า
- การเลื่อนแนวนอนบนแทร็กแพดก็พลิกหน้าได้ และส่วนหางของโมเมนตัมจะถูกเพิกเฉย
- ปุ่มลูกศร Home และ End ทำงานเมื่อเพจเจอร์ได้รับโฟกัส และการเลื่อนแนวตั้งยังใช้ได้
- หน้าที่ไม่ได้ใช้งานอยู่จะไม่ตอบสนอง
ใช้สำหรับ
- ขั้นตอนออนบอร์ดดิง
- แครูเซลรูปภาพ
- แผงแท็บที่ปัดได้ จับคู่กับ
MotionHighlight
Props
| Prop | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|
items | readonly T[] | —จำเป็น | อาร์เรย์ข้อมูลของคุณ |
|---|
index | number | | หน้าที่แสดง เว้นไว้เพื่อให้เพจเจอร์จัดการเอง |
|---|
defaultIndex | number | 0 | หน้าเริ่มต้นเมื่อ index ไม่ได้ถูกควบคุม |
|---|
onIndexChange | (index, item) => void | | ทำงานพร้อม index และรายการทันทีที่การปัด ปุ่ม หรือท่าทางล้อเลื่อนหยุด |
|---|
getKey | (item) => string | number | item.id | คืน key ที่ไม่ซ้ำและคงที่ของรายการ ค่าเริ่มต้นคือ item.id หรือตัวรายการเองสำหรับสตริงและตัวเลข |
|---|
renderItem | (item, { index, active }) => ReactNode | item.label | วาดหน้า ได้รับ index ของมันและสถานะว่าใช้งานอยู่หรือไม่ |
|---|
gap | number | 0 | ระยะห่างระหว่างหน้าเป็นพิกเซล |
|---|
itemClassName | string | | คลาสของแต่ละองค์ประกอบรายการ itemStyle กำหนดสไตล์ inline ของมัน |
|---|
transition | Transition | spring | เส้นโค้ง timing { duration, easing } หรือสปริง { tempo: 'spring', spring } สปริงรักษาโมเมนตัมไว้เมื่อถูกขัดจังหวะ |
|---|
props อื่นจะส่งต่อไปยังองค์ประกอบที่เรนเดอร์ className, style และตัวจัดการเหตุการณ์จึงทำงานตามปกติ