সব কম্পোনেন্ট

MotionSwap

এমন বিষয়বস্তু যা ক্রস-ফেড হয় আর আকার তার সঙ্গে চলে।

ওয়েবReact Nativeবিষয়বস্তু আর আকার

চালিয়ে দেখুন

উদাহরণ প্রস্তুত হচ্ছে…

সবচেয়ে ছোট ব্যবহার

SaveButton.jsx
<button onClick={save}>
  <MotionSwap value={status} effect="up">
    {status === 'saving' ? 'Saving…' : status === 'saved' ? 'Saved' : 'Save'}
  </MotionSwap>
</button>;

এটি আপনার হয়ে যা সামলায়

  • এলিমেন্ট স্ক্রিনের আকার থেকে নতুন বিষয়বস্তুর স্বাভাবিক আকারে বদলায়, তাই বোতাম কখনো লাফ দেয় না।
  • পুরোনো বিষয়বস্তু নিজের জায়গায় মিলিয়ে যায় আর নতুনটি ফুটে ওঠে; সোয়াপের সময় কোনোটিই আবার সাজে না।
  • সোয়াপের মাঝে আবার বদলালে কপি জমানোর বদলে স্ক্রিনে যা আছে সেখান থেকে এগোয়।
  • সাধারণ লেখার children নিজেরাই নিজেদের value; অন্য কিছুর জন্য value দিন।

যেখানে ব্যবহার করবেন

  • সংরক্ষণ করুন, তারপর সংরক্ষণ হচ্ছে…, তারপর সংরক্ষিত।
  • একটি স্কেলেটন যা প্রোফাইল কার্ড হয়ে যায়।
  • একটি প্লে বোতাম যা পজ হয়ে যায়।

Props

Propটাইপডিফল্টবিবরণ
valueunknownবিষয়বস্তুর পরিচয়; নতুন মান সোয়াপ করে। সাধারণ লেখার children নিজেরাই নিজেদের পরিচয়।
childrenReactNodeবিষয়বস্তু।
aselement'span'রেন্ডার করার এলিমেন্ট।
inlinebooleanas === 'span'true বিষয়বস্তু অনুযায়ী আকার নেয় (লেবেল, আইকন); false প্যারেন্টের প্রস্থ ভরে আর উচ্চতা অ্যানিমেট করে।
align'start' | 'center' | 'end''center'আকার বদলানোর সময় বিষয়বস্তু কোথায় থাকে।
effect'fade' | 'up' | 'down' | 'scale''fade'বিষয়বস্তু কীভাবে আসে আর যায়: up ওঠে, down নামে, scale বড় হয়।
transitionTransitionspringtiming বক্ররেখা { duration, easing } বা স্প্রিং { tempo: 'spring', spring }। বাধা পেলে স্প্রিং নিজের গতি ধরে রাখে।
onMotionComplete(value) => voidগতি স্থির হলে চলে।

অন্য props রেন্ডার হওয়া এলিমেন্টে যায়, তাই className, style আর ইভেন্ট হ্যান্ডলার স্বাভাবিকভাবে কাজ করে।

ওয়েব আর React Native

inline (span হিসেবে রেন্ডার হলে ডিফল্ট) প্রস্থ আর উচ্চতা অ্যানিমেট করে; inline={false} প্যারেন্টের প্রস্থ ভরে আর উচ্চতা অ্যানিমেট করে।

React Native-এ inline সোয়াপ নতুন বিষয়বস্তু এক লাইনে মাপে; ভাঙা লেখার জন্য inline={false} ব্যবহার করুন।

এই উদাহরণগুলোতে ব্যবহৃত

খুঁজুন

ডকুমেন্টেশনে খুঁজতে টাইপ করুন।