כל הרכיבים

MotionList

רשימה מנתונים שמנפישה רק את מה שהשתנה.

אינטרנטReact Nativeרשימות

נסו את זה

מכין את הדוגמה…

השימוש הקצר ביותר

Todos.jsx
<MotionList as="ul" items={todos} renderItem={(todo) => <TodoRow todo={todo} />} />;

מה הוא עושה בשבילכם

  • פריטים חדשים נכנסים בדירוג מוגבל בזמן שפריטים שלא נגעו בהם נשארים במקום.
  • פריטים שהוסרו יוצאים מהזרימה ויוצאים בתנועה במקומם, בזמן שהשאר מחליקים לסגור את הרווח.
  • פריטים שסודרו מחדש גולשים למיקומים החדשים.
  • תזוזות שהופרעו על ידי שינוי אחר שומרות על המהירות שלהן.
  • present={false} מוציא את כל הפריטים בתנועה, ו־playKey מנגן מחדש את הכניסה.

מתאים ל־

  • רשימת משימות.
  • תוצאות חיפוש מסוננות.
  • עגלת קניות.

Props

Propטיפוסברירת מחדלתיאור
itemsreadonly T[]—חובהמערך הנתונים שלכם.
getKey(item) => string | numberitem.idמחזיר מפתח ייחודי ויציב לפריט. ברירת המחדל היא item.id, או הפריט עצמו למחרוזות ולמספרים.
renderItem(item, index) => ReactNodeitem.labelמצייר פריט.
aselement'div'האלמנט לרינדור.
itemAselement'li' | 'div'האלמנט לכל פריט.
itemClassNamestringclass לאלמנט של כל פריט; itemStyle מגדיר את הסגנון המוטבע שלו.
effect'rise' | 'fade' | 'scale' | 'slide''rise'איך פריטים נכנסים ויוצאים.
distancenumber16מרחק התנועה של rise ו־slide בפיקסלים.
staggernumber40מילישניות בין פריטים נכנסים.
order'forward' | 'reverse''forward'כיוון הדירוג.
presentbooleantruefalse מוציא את כל הפריטים בתנועה ושומר על הפריסה; true מחזיר אותם.
initialbooleantrueלנגן את הכניסה כשהרשימה מורכבת.
playKeystring | numberשינוי שלו מנגן מחדש את הכניסה.
transitionTransitionspringמעבר לפריטים נכנסים ויוצאים.
layoutTransitionTransitionspringמעבר לפריטים שגולשים למיקומים חדשים.

props אחרים עוברים לאלמנט המרונדר, כך ש־className, style ומטפלי אירועים עובדים כרגיל.

אינטרנט ו־React Native

כל פריט מקבל אלמנט עוטף (li בתוך ul או ol, אחרת div; itemAs משנה את זה) שמעוצב עם itemClassName.

המפתחות חייבים להיות ייחודיים. עטפו את הרשימה ב־MotionHeight כדי להנפיש גם את הגובה הכולל שלה.

בשימוש בדוגמאות האלה

חיפוש

הקלידו כדי לחפש בתיעוד.