সব কম্পোনেন্ট
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 | টাইপ | ডিফল্ট | বিবরণ |
|---|
value | unknown | | বিষয়বস্তুর পরিচয়; নতুন মান সোয়াপ করে। সাধারণ লেখার children নিজেরাই নিজেদের পরিচয়। |
|---|
children | ReactNode | | বিষয়বস্তু। |
|---|
as | element | 'span' | রেন্ডার করার এলিমেন্ট। |
|---|
inline | boolean | as === 'span' | true বিষয়বস্তু অনুযায়ী আকার নেয় (লেবেল, আইকন); false প্যারেন্টের প্রস্থ ভরে আর উচ্চতা অ্যানিমেট করে। |
|---|
align | 'start' | 'center' | 'end' | 'center' | আকার বদলানোর সময় বিষয়বস্তু কোথায় থাকে। |
|---|
effect | 'fade' | 'up' | 'down' | 'scale' | 'fade' | বিষয়বস্তু কীভাবে আসে আর যায়: up ওঠে, down নামে, scale বড় হয়। |
|---|
transition | Transition | spring | timing বক্ররেখা { duration, easing } বা স্প্রিং { tempo: 'spring', spring }। বাধা পেলে স্প্রিং নিজের গতি ধরে রাখে। |
|---|
onMotionComplete | (value) => void | | গতি স্থির হলে চলে। |
|---|
অন্য props রেন্ডার হওয়া এলিমেন্টে যায়, তাই className, style আর ইভেন্ট হ্যান্ডলার স্বাভাবিকভাবে কাজ করে।